【问题标题】:Transfer File on different server在不同的服务器上传输文件
【发布时间】:2015-12-08 16:46:49
【问题描述】:

我有一个计划,而且是必须的:

  1. 服务器 1 = Web 服务器,用于保存 php 等源代码
  2. 服务器 2 = 保存客户端上传的文件/文档

客户端访问服务器 1 中的 Web 服务器,然后上传或下载文档/图像,但我希望将文档或图像保存在服务器 2 中。 所以网络源和文件/图像是分开的。

但我不知道将文件从服务器 1 传输到服务器 2 的理想概念是什么。我尝试使用 FTP 和 Curl。 请考虑如何从服务器 2 客户端下载文件。

对于上述场景,传输文件(如上传或下载)的理想概念是什么?

【问题讨论】:

    标签: php curl web ftp webserver


    【解决方案1】:

    为此,您可以使用任何 CDN 托管服务提供商,如 Rackspace 或任何其他服务提供商。实际上,我使用的是 Rackspace,如果我们上传文件,将存储与代码分开。它们为您提供上传、删除、检索文件的 API,即使您可以创建目录。它们为您提供 API 密钥和用于进行 API 调用的密钥。在实现此功能的同时,可以在整个项目中使用通用功能来执行此操作。

    【讨论】:

    • 我不喜欢使用第三方的第三方。因为我的问题在于它传输文件的方式。使用协议 FTP、HTTP 或两者。
    【解决方案2】:

    您可以使用PHP FTP. 完成此操作 确保您具有在服务器上写入文件的正确权限。

    使用 cURL 下载文件:

    set_time_limit(0); // unlimited max execution time for big files
    $options = array(
      CURLOPT_FILE    => '/path/download/file/server1.img',
      CURLOPT_TIMEOUT =>  28800, // set this to 8 hours so we dont timeout on big files
      CURLOPT_URL     => 'http://server2.com/path/download/file/server2.img',
    );
    
    $ch = curl_init();
    curl_setopt_array($ch, $options);
    curl_exec($ch);
    curl_close($ch);
    

    【讨论】:

    • 谢谢。我尝试过类似的东西。但是如果使用你的建议,我必须在服务器 2 上安装 FTP 服务器和 Web 服务器。我找到了一种使用 CURL 上传的方法,那么如果使用 CURL 上传和下载不混合,使用 FTP 上传和使用 Curl 或 HTTP 下载,你怎么看。
    • 如果它是理想和良好的服务器,我没问题在 Server2 上安装 FTP 服务器和 Web 服务器。但这是理想的概念吗?或任何更好的方法,但我仍然不知道。
    • 如果您使用 cURL 上传和下载成功,则很好。上传文件无需设置 FTP 服务器。
    猜你喜欢
    • 1970-01-01
    • 2011-09-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多