0
我有一个函数可以将特定的zip文件从远程服务器下载到我的本地Windows服务器。该文件的大小范围从1-10 MB,我希望我的脚本一直等到它完成。我怎样才能确定它已经完成?实际下载工作正常。如何判断使用PHP中的CURLOPT_FILE是否完成curl下载
功能是:
function get_download($url, $path)
{
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL,$url);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($curl, CURLOPT_RETURNTRANSFER,1);
curl_setopt($curl, CURLOPT_COOKIEFILE, 'cookie2.txt');
curl_setopt($curl, CURLOPT_FILE, $path);
$results = curl_exec($curl);
return $results;
}
我想我会得到远程文件的大小,然后先比较本地文件的大小。但是,这似乎并不奏效。不知道它的文件功能是.zip文件,但它总是返回-1或-11。我想这样的功能:
function remotefileSize($url)
{
$curl = curl_init($url);
curl_setopt($curl, CURLOPT_NOBODY, 1);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 0);
curl_setopt($curl, CURLOPT_HEADER, 0);
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($curl, CURLOPT_MAXREDIRS, 3);
curl_exec($curl);
$filesize = curl_getinfo($curl, CURLINFO_CONTENT_LENGTH_DOWNLOAD);
curl_close($curl);
return $filesize;
}