PHP分辨远程控制文档是不是存有
摘要: $string_pieces = explode(" ",$http_headers[0]);for ($i = 0; $i count($string_pieces); $i++)if (strcmp($exist_stat,$string_pieces[$i]) == 0) {return true;return false;}/*涵数:remote_file_exists作用:分辨远程控制文档是不是存有...
/* 涵数:remote_file_exists 作用:分辨远程控制文档是不是存有 主要参数: $url_file -远程控制文档URL 回到:存有回到true,不会有或是别的缘故回到false 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"; $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 = 'viewarticle.php?id=119617'; $exits = remote_file_exists($str_url); echo $exists ? "Exists" : "Not exists";
方式一(必须打开allow_url_fopen):
?php $url = "wordpress-3.3.1-zh_CN.zip"; $fileExists = @file_get_contents($url, null, null, -1, 1) ? true : false; echo $fileExists; //回到1,便说密文件存有。 ?
方式二(必须网络服务器适用Curl部件):
?php function check_remote_file_exists($url) { $curl = curl_init($url); // 不取回来数据信息 curl_setopt($curl, CURLOPT_NOBODY, true); curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'GET'); // 推送恳求 $result = curl_exec($curl); $found = false; // 假如恳求沒有推送不成功 if ($result !== false) { /** 再查验http响应码是不是为200 */ $statusCode = ($curl, CURLINFO_HTTP_CODE); if ($statusCode == 200) { $found = true; curl_close($curl); return $found; $url = "wordpress-3.3.1-zh_CN.zip"; echo check_remote_file_exists($url); // 回到1,表明存有。 ?