【问题标题】:remote file upload远程文件上传
【发布时间】:2011-08-15 07:07:53
【问题描述】:

首先,我很抱歉版主发了这么多帖子,,

我的控制面板中有上传文件页面

但我想在另一台服务器上上传文件

第一个服务器控制面板(上传页面)的url是

first_server.com/admin/upload.php

我的第二个服务器链接是

files.second_server.com

如何将文件从第一台服务器上传到第二台服务器?

不重定向到第二台服务器

我的第一个服务器内容是-upload.php

<form -- action=i dont know what i should set in action>
<input name=myfile type=file>
<input type=submit>
</form>

第二个服务器文件是-proccess.php

if($_FILE['myfile']){
move_uploaded_file.......
//print the file link , to get it by my first page on first server
echo $second_server_full_path . '/' . $_FILE['myfile']['name'];
}

所以 .. 我如何通过 curl 或 file_get_content 完成这项工作

我认为 file_get_content 会很好..但是最大超时太低了!

请帮忙!

【问题讨论】:

  • 如果你还没有尝试过文件上传中继,你怎么知道最大超时太低?此外,如果确实如此,您 将不得不调整这些服务器设置。我们不能。
  • 第一次重播:30 分钟前,第二次重播 27 分钟..距您关闭此帖子的时间还有 30 分钟!它的价格很高..无论如何谢谢你
  • ^^ 供您参考.. file_get_content 的最大超时 -> 30 秒!

标签: php file upload


【解决方案1】:

如何将文件从第一台服务器上传到第二台服务器? 无需重定向到第二台服务器

使用重定向我假设您的意思是将发布请求发送到第二个服务器。

起初,这在技术上是不可能的。表单的数据将被发送到指定的服务器,如果您需要将文件保存在第二台服务器上,第二台服务器需要接收数据。

如果您不想通过浏览器将文件发送到第二台服务器,则需要通过第一台服务器将文件发送到第二台服务器。例如,您可以在第二台服务器中创建网络共享,然后在第一台服务器上的提交脚本中,通过共享将文件移动到第二台服务器。

通过 curl 传输文件(注意:文件路径前的@):

$ch = curl_init();
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_VERBOSE, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
$post = array(
    "myfile"=>"@/path/to/myfile.jpg",
);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post); 
$response = curl_exec($ch);

而不是使用 curl,Supported Protocols and Wrappers 可能值得研究,例如只需通过 FILE/FTP/SSH 传输文件。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2015-06-06
  • 2014-05-15
  • 2011-05-08
  • 2018-12-11
  • 2017-05-23
  • 1970-01-01
  • 2011-10-21
  • 1970-01-01
相关资源
最近更新 更多