求怎样解决fsockopen函数,异常
程序员文章站
2022-03-27 14:21:16
...
求怎样解决fsockopen函数,错误
这个是我在网上找的,取远程文件大小的例子。
如果域名正常,文件存在就返回文件大小,
如果域名正常,文件不存在,就返回false。
现在问题出现了,如果域名不正常,就像上面这个地址,域名解析不了,也就是无法访问。这个时候会输出错误信息。
php_network_getaddresses: getaddrinfo failed: 不知道这样的主机。 in D:\PHPnow-1.5.6\htdocs\webadmin\inc\filesize.php on line 15
怎样能把这个错误信息去掉呢,在不修改web服务器配置的情况下,只在代码里面解决。
因为我要用ajax,取文件大小信息。所以不能报错,一报错,javascript获取的返回值,就是错误信息了,这个就导致前台无法运行了。
有会的吗,指点一下小弟。
//获取文件大小
function remote_filesize($url_file){
if (!remote_file_exists($url_file)) return false;
$headInf = get_headers($url_file,1);
return $headInf['Content-Length'];
}
//判断文件是否存在
function remote_file_exists($url_file){
$url_file = trim($url_file);
if (empty($url_file)) return false;
$url_arr = parse_url($url_file);
if (!is_array($url_arr) || empty($url_arr)) return false;
$host = $url_arr['host'];
$path = $url_arr['path'] ."?".@$url_arr['query'];
$port = isset($url_arr['port']) ?$url_arr['port'] : "80";
$fp = fsockopen($host, $port, $err_no, $err_str,30);
if (!$fp) return false;
$request_str = "GET ".$path." HTTP/1.1\r\n";
$request_str .= "Host:".$host."\r\n";
$request_str .= "Connection:Close\r\n\r\n";
fwrite($fp,$request_str);
//fread replace fgets
$first_header = fread($fp, 128);
fclose($fp);
if (trim($first_header) == "") return false;
//check $url_file "Content-Location"
if (!preg_match("/200/", $first_header) || preg_match("/Location:/", $first_header)) return false;
return true;
}
echo remote_filesize("http://wlm212.bjphp1.qq1.cc/down/ee.exe");
?>
这个是我在网上找的,取远程文件大小的例子。
如果域名正常,文件存在就返回文件大小,
如果域名正常,文件不存在,就返回false。
现在问题出现了,如果域名不正常,就像上面这个地址,域名解析不了,也就是无法访问。这个时候会输出错误信息。
php_network_getaddresses: getaddrinfo failed: 不知道这样的主机。 in D:\PHPnow-1.5.6\htdocs\webadmin\inc\filesize.php on line 15
怎样能把这个错误信息去掉呢,在不修改web服务器配置的情况下,只在代码里面解决。
因为我要用ajax,取文件大小信息。所以不能报错,一报错,javascript获取的返回值,就是错误信息了,这个就导致前台无法运行了。
有会的吗,指点一下小弟。
专题推荐
-
独孤九贱-php全栈开发教程
全栈 170W+
主讲:Peter-Zhu 轻松幽默、简短易学,非常适合PHP学习入门
-
玉女心经-web前端开发教程
入门 80W+
主讲:灭绝师太 由浅入深、明快简洁,非常适合前端学习入门
-
天龙八部-实战开发教程
实战 120W+
主讲:西门大官人 思路清晰、严谨规范,适合有一定web编程基础学习
- 最新文章
- 热门排行
推荐阅读
-
浅析虚拟主机服务器php fsockopen函数被禁用的解决办法
-
怎样针对JavaScript中的异步函数进行异常处理及测试
-
fsockopen pfsockopen函数被禁用,SMTP发送邮件不正常的解决方法
-
浅析虚拟主机服务器php fsockopen函数被禁用的解决办法
-
Oracle Count函数报异常问题如何解决?
-
vue-cli项目在IE下运行钩子函数抛出异常“ReferenceError: “Promise”未定义"”的解决办法
-
PHP的fsockopen、pfsockopen函数被主机商禁用的解决办法
-
浅析虚拟主机服务器php fsockopen函数被禁用的解决办法
-
递归函数,求高手解原理。解决方法
-
php-怎样删除二维数组中相同的一位数组 并保持相同键名 求大神写个函数
网友评论
文明上网理性发言,请遵守 新闻评论服务协议
我要评论