1

我真正想做的是:

  • 用户将从 html 页面上传到脚本
  • 该脚本将登录并返回链接

好吧,一切都可以在 curl 的帮助下轻松完成,并通过多部分帖子接受文件。

但是这里的问题是,在所有上传完成后,它将开始通过 curl 将文件从服务器上传到另一个服务器:(所以这将需要一个很长的过程。我想知道它是否可以像用户上传文件一样,它也继续以块的形式发送数据,例如下载文件

我不确定这是否可以用 php 来实现。如果没有,任何其他方式可以使这成为可能

4

1 回答 1

4

您可以使用 cURL 执行此操作:

// Open a stream so that we stream the image download
$localFile = $_FILES[$fileKey]['tmp_name'];

$stream = fopen($localFile, 'r');

// Create a curl handle to upload to the file server     
$ch = curl_init($fileServer);
// Send a PUT request
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'PUT');
// Let curl know that we are sending an entity body
curl_setopt($ch, CURLOPT_UPLOAD, true);
// Let curl know that we are using a chunked transfer encoding
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Transfer-Encoding: chunked'));
// Use a callback to provide curl with data to transmit from the stream
curl_setopt($ch, CURLOPT_READFUNCTION, function($ch, $fd, $length) use ($stream) {
    return fread($stream, $length) ? '';
});

curl_exec($ch);
于 2012-10-02T14:52:37.770 回答