通过curl或任何其他方式将数据从服务器发送到另一个服务器


Send data from server to another by curl or any other way

我有两个服务器。第一个(本地)是拥有脚本的服务器
第二个(远程)是只上传文件(仅用于存储)的服务器。

现在我对如何上传文件感到困惑,我有两种方法,我不知道其中最好的一种。

方式:

  1. 首先将文件上传到本地服务器,并确保所有安全操作(检查文件大小、文件类型等),然后上传再次发送到第二服务器(远程服务器)。

  2. 将文件直接上传到第二服务器(远程服务器),并在其中进行所有检查和安全操作,然后将文件信息发送到第一个服务器(本地),以将信息存储到数据库中。

  3. 或者还有其他方法比他们更好

我尝试了应用第二种方式,将文件直接发送到第二服务器(远程服务器),然后在一切正常后,第二服务器通过curl将有关上传文件的所有信息发送到第一服务器(本地)。

例如:
以下文件中编写的代码存在于第二台服务器(远程服务器)的php文件中。

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://localServer/script/receiveReques.php");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 2);
curl_setopt($ch, CURLOPT_TIMEOUT, 2);
curl_setopt($ch, CURLOPT_POST, 3);
curl_setopt($ch, CURLOPT_POSTFIELDS, array('fileName' => 'filename.zip', 'size' => 1000, 'path'=> 'http://remoteserver.com/files/filenmae.zip'));
curl_exec($ch);
curl_close($ch);

但问题是我不知道如何获得发送的信息。

我的问题摘要是:

  1. 最好的方法是什么
  2. 如何从第二台服务器接收文件信息(远程服务器)

您有

curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

你所需要做的就是使用它返回的数据

$data = curl_exec($ch);

所有数据现在都在$data

相关文章: