PHP判断远程文件是否存在函数
PHP #文件 #函数2012-04-30 09:17
/*
函数:remote_file_exists
功能:判断远程文件是否存在
参数: $url_file - 远程文件URL
返回:存在返回true,不存在或者其他原因返回false
*/
function remote_file_exists($url_file){
//检测输入
$url_file = trim($url_file);
if (emptyempty($url_file)) { return false; }
$url_arr = parse_url($url_file);
if (!is_array($url_arr) || emptyempty($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";
$request_str .= "Host: ".$host."";
$request_str .= "Connection: Close";
//发送请求
fwrite($fp, $request_str);
$first_header = fgets($fp, 1024);
fclose($fp);
//判断文件是否存在
if (trim($first_header) == ""){ return false; }
if (!preg_match("/200/", $first_header)){
return false;
}
return true;
}
//测试代码
$str_url = 'http://yige.org/index.php';
$exits = remote_file_exists($str_url);
echo $exists ? "Exists" : "Not exists";相关文章
- PHP压缩HTML/JS代码 2012/04/30
- php在iis下自动输出Content-Length的方法 2012/04/30
- Linux下给php安装memcache扩展 2012/04/29
- PHP防止伪造跨站请求的小招式 2012/04/28
- php 性能测试工具 xhprof 使用教程 2012/04/28
- 通过刷新PHP缓冲区来加速网站 2012/04/28
- 教你开发PHP计算器 2012/04/28
- PHP中htmlentities/htmlspecialchars区别 2012/04/28
- wordpress反垃圾评论插件 2012/04/28
- PhpMyAdmin出现空白页或无法载入mysql扩展 2012/04/28