0
Webページのコンテンツをダウンロードするコードサンプルがあります。PHPカールURLから空ファイルをダウンロード
問題:HDDには常に0のファイルが表示されます。
私はこのコードが多くの場合に機能すると信じていますが、私の場合はこのコードを修正する方法を知っています。
<?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を試してみました。もう1つの方法は、fopen
+ fread
で、正常に動作します。ただphp example.php
として実行(ZTS MSVC14(ビジュアルC++ 2015)のx64)
- のWindows 7
- PHP 7.1.0(CLI)(2016年12月2日5時24分57秒を建て)
転送後にHTTPステータスコードを取得できますか? 'curl_getinfo($ ch、CURLINFO_HTTP_CODE);' – BradzTech
'CURLOPT_BINARYTRANSFER'は冗長ですが、その行を削除しても差はありません。 'curl_exec()'が返す値をチェックしていないのはなぜですか? –