0
有一個代碼示例下載網頁的內容。PHP捲曲從URL下載空文件
問題:一個零長度文件總是出現在硬盤上。
我相信這段代碼在許多情況下都有效,但我很有興趣知道如何在我的情況下修復它。
<?php
$url = 'https://wtfismyip.com/text';
$destFile = 'experiment.tmp';
$fp = fopen($destFile, 'w+b');
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_FILE, $fp); // write curl response to file
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_BINARYTRANSFER, true);
curl_exec($ch);
curl_close($ch);
fclose($fp);
我嘗試了不同的URL,沒有運氣。另一種方法,通過fopen
+ fread
,工作正常。
- Windows 7的
- PHP 7.1.0(CLI)(建:2016年12月2日5時24分57秒)(ZTS MSVC14(VISUAL C++ 2015年)64)
- 執行的,就像
php example.php
你可以嘗試獲得傳輸後的HTTP狀態代碼? 'curl_getinfo($ ch,CURLINFO_HTTP_CODE);' – BradzTech
'CURLOPT_BINARYTRANSFER'是多餘的,雖然刪除該行可能不會有任何區別。你爲什麼不檢查'curl_exec()'返回的值? –