我在PHP中使用cURL编写一个函数来将远程xml文件放入我的本地文件夹.一切正常,但我有一个问题:
$fileIn = curl_init("http://some-remote-host.com/file.xml);
$fileOut = fopen('myLocal.xml", "w");
curl_setopt($fileIn, CURLOPT_FILE, $fileOut);
curl_setopt($fileIn, CURLOPT_HEADER, 0);
$isCopied = curl_exec($fileIn);
curl_close($fileIn);
fclose($fileOut);
if(!$isCopied)
return false;
else
//do something else
根据我读到的文档,当远程文件不存在时,$isCopied应该是假的,并且不应该有myLocal.xml,但我的if(!$isCopied)似乎不起作用.这是myLocal.xml的内容
404 Not FoundNot Found
The requested URL something.xml was not found on this server.
Apache Server at somehost.com Port 443
我的问题是:如何获得一个布尔变量告诉我它什么时候成功,什么时候没有. (表示远程文件不存在时).
谢谢.
解决方法:
您可以使用
curl_getinfo($fileIn, CURLINFO_HTTP_CODE);
看看返回了什么http代码(你正在寻找200).
标签:php,curl
来源: https://codeday.me/bug/20190903/1796172.html