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