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

phpserver side programmingprogramming更新于 2025/9/8 16:52:17

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);

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


相关文章