php获取文件大小的4种方法
Jun 07, 2016 am 11:43 AM在网上找了4种获取文件大小的方法 记录起来。。。。
方法一:header<?php <br />
get_headers($url,true); <br>
<br>
//返回结果 <br>
Array <br>
( <br>
[0] => HTTP/1.1 200 OK <br>
[Date] => Sat, 29 May 2004 12:28:14 GMT <br>
[Server] => Apache/1.3.27 (Unix) (Red-Hat/Linux) <br>
[Last-Modified] => Wed, 08 Jan 2003 23:11:55 GMT <br>
[ETag] => "3f80f-1b6-3e1cb03b" <br>
[Accept-Ranges] => bytes <br>
<strong>[Content-Length] => 438 </strong> <br>
[Connection] => close <br>
[Content-Type] => text/html <br>
) <br>
?>
方法二function getFileSize($url) <br>
{ <br>
$url = parse_url($url); <br>
if($fp = @fsockopen($url['host'],emptyempty($url['port'])?80:$url['port'],$error)) <br>
{ <br>
fputs($fp,"GET ".(emptyempty($url['path'])?'/':$url['path'])." HTTP/1.1\r\n"); <br>
fputs($fp,"Host:$url[host]\r\n\r\n"); <br>
while(!feof($fp)) <br>
{ <br>
$tmp = fgets($fp); <br>
if(trim($tmp) == '') <br>
{ <br>
break; <br>
} <br>
elseif(preg_match('/Content-Length:(.*)/si',$tmp,$arr)) <br>
{ <br>
return trim($arr[1]); <br>
} <br>
} <br>
return null; <br>
} <br>
else <br>
{ <br>
return null; <br>
} <br>
}
方法三:function remote_filesize($uri,$user='',$pw='') <br>
{ <br>
// start output buffering <br>
ob_start(); <br>
// initialize curl with given uri <br>
$ch = curl_init($uri); <br>
// make sure we get the header <br>
curl_setopt($ch, CURLOPT_HEADER, 1); <br>
// make it a http HEAD request <br>
curl_setopt($ch, CURLOPT_NOBODY, 1); <br>
// if auth is needed, do it here <br>
if (!emptyempty($user) && !emptyempty($pw)) <br>
{ <br>
$headers = array('Authorization: Basic ' . base64_encode($user.':'.$pw)); <br>
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); <br>
} <br>
$okay = curl_exec($ch); <br>
curl_close($ch); <br>
// get the output buffer <br>
$head = ob_get_contents(); <br>
// clean the output buffer and return to previous <br>
// buffer settings <br>
ob_end_clean(); <br>
<br>
echo '<br>head-->'.$head.''; <br>
<br>
// gets you the numeric value from the Content-Length <br>
// field in the http header <br>
$regex = '/Content-Length:\s([0-9].+?)\s/'; <br>
$count = preg_match($regex, $head, $matches); <br>
<br>
// if there was a Content-Length field, its value <br>
// will now be in $matches[1] <br>
if (isset($matches[1])) <br>
{ <br>
$size = $matches[1]; <br>
} <br>
else <br>
{ <br>
$size = 'unknown'; <br>
} <br>
//$last=round($size/(1024*1024),3); <br>
//return $last.' MB'; <br>
return $size; <br>
}
方法四:$fCont = file_get_contents("http://www.weiyeying.cn/"); <br>
echo strlen($fCont)/1024;
AD:真正免费,域名+虚机+企业邮箱=0元

Artikel Panas

Alat panas Tag

Artikel Panas

Tag artikel panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Ketahui tentang contoh kod pengenalan untuk pengaturcaraan Python

Cara menggunakan PHP untuk menulis kod fungsi pengurusan inventori dalam sistem pengurusan inventori

Pembolehubah PHP dalam tindakan: 10 contoh penggunaan sebenar

Contoh pengaturcaraan bahasa Go: contoh kod dalam pembangunan web

Java melaksanakan kod isihan gelembung mudah

Daripada pemula hingga mahir: Pelaksanaan kod struktur data yang biasa digunakan dalam bahasa Go

Panduan Sambungan Pengkomputeran Tepi Awan Huawei: Contoh kod Java untuk melaksanakan antara muka dengan cepat

Panduan dan Contoh: Belajar untuk melaksanakan algoritma isihan pemilihan dalam Java
