Php 获取服务器响应
可能重复:Php 获取服务器响应,php,Php,可能重复: 我正在使用curl从PHP后端下载一系列PDF。我不知道序列什么时候结束,比如1.pdf,2.pdf……等等 以下是我用来下载pdf的代码: $url = 'http://<ip>.pdf'; $path = "C:\\test.pdf"; $fp = fopen($path, 'w'); $ch = curl_init($url); curl_setopt($ch, CURLOPT_FILE, $fp); $data =
我正在使用curl从PHP后端下载一系列PDF。我不知道序列什么时候结束,比如1.pdf,2.pdf……等等 以下是我用来下载pdf的代码:
$url = 'http://<ip>.pdf';
$path = "C:\\test.pdf";
$fp = fopen($path, 'w');
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_FILE, $fp);
$data = curl_exec($ch);
fclose($fp);
$url='1!'http://.pdf';
$path=“C:\\test.pdf”;
$fp=fopen($path,'w');
$ch=curl\u init($url);
curl_setopt($ch,CURLOPT_文件,$fp);
$data=curl\u exec($ch);
fclose($fp);
但是如何确定后端中不存在该pdf?当找不到文件时,curl是否返回任何响应
提前感谢只需在
$data=curl\u exec($ch)之后测试http响应的状态代码代码>
更多信息
使用curl\u setopt($ch,CURLOPT\u RETURNTRANSFER,true)代码>成功时返回结果,失败时返回FALSE
使用curl\u setopt($ch,CURLOPT\u RETURNTRANSFER,false)代码>成功时返回TRUE,失败时返回FALSE
此外,对于未找到的文件
:
$http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
if($http_code == 404)
{
/*file not found*/
}
谢谢curl\u getinfo($url,CURLINFO\u HTTP\u代码)解决了我的问题。
$ch=curl_init("www.example.org/example.pdf");
curl_setopt($ch,CURLOPT_HEADER,0);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
$result=curl_exec($ch);
curl_close($ch);
$http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
if($http_code == 404)
{
/*file not found*/
}