0
我查了一下,也搜索了一下,但沒有找到任何方法來解決我的問題。php curl下載tbz文件?
我想下載與TBZ擴展名的文件,但它給我的錯誤作爲
Warning: feof() expects parameter 1 to be resource, string given in D:\xampp\htdocs\test\testing.php on line **
我使用捲曲從服務器下載該文件。
set_time_limit(0);
$ch = curl_init();
$timeout = 0;
curl_setopt ($ch, CURLOPT_URL, $webpage_url);
curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_BINARYTRANSFER, 1);
$handler = curl_exec($ch);
$fp = fopen("adminArea/test/$file", "w+");
$contents = '';
while (!feof($handler)) {
$contents .= fread($handler, 8192);
fwrite($fp, $handler);
}
fclose($fp);
curl_close($ch);
我的文件是MB,當我執行這個我得到一個更大的文件。如果我運行代碼時我的文件大小是16m,那麼需要很多時間,當我手動停止它時,它的大小爲146MB。我做錯了什麼?
感謝您的回覆。我之前嘗試了相同的代碼,但是這隻在我的目錄中創建了1KB的文件。所以我想做文件處理的方式。這段代碼只爲我創建一個1KB的文件,而不是實際的大小。 – Astha
我懷疑文件處理會弄亂你的文件 - 更可能的是,外部服務器發送1KB響應,而不是你所期望的。許多可能的原因,例如,這會將用戶重定向到實際文件,或者該站點需要POST請求,或者該站點需要特定的User-Agent標頭等。 檢查此文件的內容以查看是否可以從中收集任何東西。 – zinga