用php将文件上传到另一个php服务器

fopen,fread和fwrite函数可用于打开文件流,读取数据流并将该数据分别写入文件。

文件资源不一定需要指向本地计算机本身上的某个位置。

以下是将文件从本地服务器传输到ftp服务器的示例-

$file = "file_name.jpg";
$destination = fopen("ftp://username:password@example.com/" . $file, "wb");
$source = file_get_contents($file);
fwrite($destination, $source, strlen($source));
fclose($destination);

该图像需要传输到FTP服务器。因此,服务器以写模式打开,并且图像被写入该位置,并且流被关闭。

curl扩展使用客户端URL库(libcurl)将文件从一个位置传输到另一位置。实现curl解决方案的逻辑遵循以下逻辑-

  • 首先初始化会话。

  • 可以设置所需的传送选项。

  • 可以执行转移。

  • 会话可以关闭。

可以使用“ curl_init”函数来初始化curl会话。它返回可以与其他curl函数一起使用的资源。

可以使用“ curl_setopt”设置上传文件的目的地以及与传输会话相关的其他因素。

这将使用curl资源,它是代表设置和可选值的预定义常数。

以下是展示相同内容的示例-

$session_begin = curl_init();
curl_setopt($session_begin, CURLOPT_POST, true);
curl_setopt($session_begin, CURLOPT_POSTFIELDS, array('file' => 'path/to/file.txt'));
curl_setopt($session_begin, CURLOPT_URL, 'http://server2/upload.php');
curl_exec($session_begin);
curl_close($session_begin);

第二台服务器可以作为常规文件上传进行处理。