首页 / 网页编程 / PHP / PHP 获取远程文件大小的3种解决方法
1、使用file_get_contents() 复制代码 代码如下: <?php $file = file_get_contents($url); echo strlen($file); ?>2. 使用get_headers() 复制代码 代码如下: <?php $header_array = get_headers($url, true); $size = $header_array["Content-Length"]; echo $size; ?>PS: 需要打开allow_url_fopen! 如未打开会显示 Warning: get_headers() [function.get-headers]: URL file-access is disabled in the server configuration3.使用fsockopen() 复制代码 代码如下: <?php function get_file_size($url) { $url = parse_url($url); if (empty($url["host"])) { return false; } $url["port"] = empty($url["post"]) ? 80 : $url["post"]; $url["path"] = empty($url["path"]) ? "/" : $url["path"]; $fp = fsockopen($url["host"], $url["port"], $error); if($fp) { fputs($fp, "GET " . $url["path"] . " HTTP/1.1
"); fputs($fp, "Host:" . $url["host"]. "
"); while (!feof($fp)) { $str = fgets($fp); if (trim($str) == "") { break; }elseif(preg_match("/Content-Length:(.*)/si", $str, $arr)) { return trim($arr[1]); } } fclose ( $fp); return false; }else { return false; } } ?>
收藏该网址