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


fopen、fread和fwrite函数分别用于打开文件流、读取数据流以及将数据写入文件。

文件资源不必一定指向本地机器上的位置。

下面是一个将文件从本地服务器传输到FTP服务器的示例:

$file = "file_name.jpg";
$destination = fopen("ftp://username:[email protected]/" . $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);

第二个服务器可以像常规文件上传一样处理。

更新于:2020年4月6日

3K+浏览量

开启你的职业生涯

完成课程获得认证

开始学习
广告