有一个下载网页内容的代码示例。
问题:一个零长度的文件总是出现在硬盘上。
我相信这段代码在很多情况下都能工作,但我很想知道如何在我的情况下修复它。
<?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);
字符串
我尝试了不同的网址,但没有运气。另一种方法,通过fopen
+ fread
,工作正常。
- Windows 7
- PHP 7.1.0(编译:Dec 2 2016 05:24:57)(ZTS MSVC 14(Visual C++ 2015)x64)
- 以
php example.php
的形式执行
2条答案
按热度按时间r6hnlfcb1#
你的代码没有任何问题,它在这里工作得很好,但是在任何地方都没有错误检查,你可能会在某个地方得到一些错误。
字符串
pepwfjgg2#
当尝试从HTTPS服务器复制文件时,经常会发生这种情况。尝试跳过证书验证:
字符串