我真正想做的是:
- 用户将从 html 页面上传到脚本
- 该脚本将登录并返回链接
好吧,一切都可以在 curl 的帮助下轻松完成,并通过多部分帖子接受文件。
但是这里的问题是,在所有上传完成后,它将开始通过 curl 将文件从服务器上传到另一个服务器:(所以这将需要一个很长的过程。我想知道它是否可以像用户上传文件一样,它也继续以块的形式发送数据,例如下载文件
我不确定这是否可以用 php 来实现。如果没有,任何其他方式可以使这成为可能
我真正想做的是:
好吧,一切都可以在 curl 的帮助下轻松完成,并通过多部分帖子接受文件。
但是这里的问题是,在所有上传完成后,它将开始通过 curl 将文件从服务器上传到另一个服务器:(所以这将需要一个很长的过程。我想知道它是否可以像用户上传文件一样,它也继续以块的形式发送数据,例如下载文件
我不确定这是否可以用 php 来实现。如果没有,任何其他方式可以使这成为可能
您可以使用 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);