abc.php 返回数据判断处理

abc.php  代码如下
<?php error_reporting(0);
header ('Content-Type: text/json');
$key=$_GET['key'];
$handle = fopen ("https://www.xxx.xxx/proxy/list/download/$key/-/socks/port/direct/", "rb");
$contents = "";
do {
$data = fread($handle, 1024);
if (strlen($data) == 0) {
break;
}
$contents.= $data;
} while(true);
fclose ($handle);
echo $contents;


打开后返回2种结果看下列, 图1 , 图2  

 


需要abc.php里面怎么写判断返回结果是 图2 就显示为空白   或者 就显示错误

返回是 图1  属于正常显示不理会让他正常显示

图2 很明显是返回出错了  那你就检查一下获取的内容 是否有 Page Not Found 关键词

有的话 就输出空

大哥不是出错不出错,是只要是返回图2      就不要他显示出来,显示 错误2个字,该怎么写

//fopen如果打开失败,会产生一个 E_WARNING 错误。可以通过 @ 来屏蔽错误。
if($handle){

}else{
    echo "文件不存在或没有权限";
}

 

先用explode函数进行 . 分割 返回值是数组 这里判断数组长度来验证是不是正常数据 

fclose($handle);

$content = explode('.',$contents);
if(count($content)>3){
    echo $contents;
}else{
    echo '错误信息';
}
 

if(strpos($data,'Page Not Found').

echo 'Page Not Found'

少了括号,自己加上

if(strpos($data,'Page Not Found'))

echo '错误'

json处理就好呀,json_decode空的不就是报错了

1、http状态码是否有区别

2、返回的内容格式

3、如果是自己的业务,可以请对方调整也输出