Home >php教程 >php手册 >php curl下载文件来处理服务器间文件手动同步

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

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOriginal
2016-05-23 08:33:442028browse

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的方法代码内容:

<?php
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;
    }
}


教程链接:

随意转载~但请保留教程地址★

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn