PHP获得远程文件大小的3种解决方案
复制代码代码如下所示:
< PHP
$file = file_get_contents ($url);
回声strlen(文件);
>
2。使用get_headers()
复制代码代码如下所示:
< PHP
header_array美元= get_headers($url,真的);
大header_array美元美元'content-length'} {;
回波大小;
>
PS:
需要打开allow_url_fopen!
如果不打开,它就会显示出来。
警告:get_headers(){ }:URL功能。有头文件访问在服务器配置被禁用
三.使用fsockopen()
复制代码代码如下所示:
< PHP
功能get_file_size($url){
$ URL = parse_url($url);
如果(空($url { 'host ' })){
返回false;
}
{ } = 'port $url的空($url { 'post ' })80美元'post'} {:URL;
{ } = 'path $url的空($url { 'path}):$ URL { 'path};
$ FP = fsockopen($url { 'host},{ 'port $url'},为错误);
如果($ FP){
作用是:将内容($ FP,得到。'path'} { $ URL。1.1;
作用是:将内容($ FP,主持人:。'host'} { $ URL。 ;
而(!Feof($ FP)){
$str = fgets($ FP);
如果(修剪)
打破;
} elseif(preg_match( /内容长度:( /硅,$str,ARR美元*))){
返回装饰($ ARR { 1 });
}
}
Fclose($ FP);
返回false;
{ }人
返回false;
}
}
>