以下是对PHP中获取远程文件大小的
种解决方法进行了详细的介绍
需要的朋友参考下
使用file_get_contents()
复制代码 代码如下:
<?php
$file = file_get_contents($url);
echo strlen($file);
?>
使用get_headers()
复制代码 代码如下:
<?php
$header_array = get_headers($url
true);
$size = $header_array[
Content
Length
];
echo $size;
?>
PS:
需要打开allow_url_fopen!
如未打开会显示
Warning: get_headers() [functiongetheaders]: URL fileaccess is disabled in the server configuration
使用fsockopen()
复制代码 代码如下:
<?php
function get_file_size($url) {
$url = parse_url($url);
if (empty($url[host])) {
return false;
}
$url[port] = empty($url[post]) ? : $url[post];
$url[path] = empty($url[path]) ? / : $url[path];
$fp = fsockopen($url[host] $url[port] $error);
if($fp) {
fputs($fp "GET " $url[path] " HTTP/rn");
fputs($fp "Host:" $url[host] "rnrn");
while (!feof($fp)) {
$str = fgets($fp);
if (trim($str) == ) {
break;
}elseif(preg_match(/ContentLength:(*)/si $str $arr)) {
return trim($arr[]);
}
}
fclose ( $fp);
return false;
}else {
return false;
}
}
?>