当前位置:首页 > PHP教程 > php高级应用 > 列表

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

发布:smiling 来源: PHP粉丝网  添加日期:2015-04-15 10:51:22 浏览: 评论:0 

php curl函数是可以实现文件下载功能了,下面这个例子是利用php curl下载文件来处理服务器间文件手动同步了,有兴趣的可进入看看.

有一个需求,情况如下:

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

暂时想到几个方法:

1.使用rsync手动同步过去,但需要配置,并且需要php执行shell命令,但我不想这样.

2.可以使用socket来传送数据,但需要开启端口,我也不想这么做,因如果一时忘记在防火墙开放端口,就无法传送了.

3.测试服务器发送信号到生产服务器,让生产服务器使用php curl从测试服务器下载文件并处理.

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

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

  1. function curl_download($testing_server_file$local_file) { 
  2.   $rfp = curl_init($testing_server_file); 
  3.   $fp = fopen($local_file"wb"); 
  4.  
  5.   curl_setopt($cp, CURLOPT_FILE, $fp); 
  6.   curl_setopt($cp, CURLOPT_HEADER, 0); 
  7.    //开源软件:phpfensi.com 
  8.   curl_exec($rfp); 
  9.  
  10.   $errno = curl_errno($rfp); 
  11.   $errmsg = curl_error($rfp); 
  12.  
  13.   curl_close($rfp); 
  14.   fclose($fp);   
  15.    
  16.   if($errno){ 
  17.     echo $errmsg
  18.     exit
  19.   } 
  20. }

Tags: curl下载文件 php手动同步

分享到: