一聚教程网:一个值得你收藏的教程网站

最新下载

热门教程

php curl下载文件来处理服务器间文件手动同步

时间:2015-03-09 编辑:简简单单 来源:一聚教程网

有一个需求,情况如下:

两台服务器,一台测试服务器[apache],一台生产服务器[nginx],产品编辑人员在测试服务器使用php upload批量上传产品,图片,经检查后,
可以同步其所上传的产品和图片[打包成zip文件]到生产服务器上,但生产服务器上不接受php upload上传文件的,那么就不能在测试服务器上直接post到正式

服务器了。

 

暂时想到几个方法:
1. 使用rsync手动同步过去,但需要配置,并且需要php执行shell命令,但我不想这样。
2. 可以使用socket来传送数据,但需要开启端口,我也不想这么做,因如果一时忘记在防火墙开放端口,就无法传送了
3. 测试服务器发送信号到生产服务器,让生产服务器使用php curl从测试服务器下载文件并处理

通过比较,还是觉得第3种方法比较妥当,直接全程使用php来处理,至少减少一些不必要的维护麻烦。

以下是php curl download的方法代码内容:

function curl_download($testing_server_file, $local_file) {
  $rfp = curl_init($testing_server_file);
  $fp = fopen($local_file, "wb");
 
  curl_setopt($cp, CURLOPT_FILE, $fp);
  curl_setopt($cp, CURLOPT_HEADER, 0);
 
  curl_exec($rfp);
 
  $errno = curl_errno($rfp);
  $errmsg = curl_error($rfp);
 
  curl_close($rfp);
  fclose($fp); 
 
  if($errno){
    echo $errmsg;
    exit;
  }
}

热门栏目