ホームページ php教程 php手册 php获取文件大小的4种方法

php获取文件大小的4种方法

Jun 07, 2016 am 11:43 AM

在网上找了4种获取文件大小的方法 记录起来。。。。
方法一:header<?php <br /> get_headers($url,true);   <br>    <br> //返回结果    <br> Array   <br> (   <br>     [0] =&gt; HTTP/1.1 200 OK   <br>     [Date] =&gt; Sat, 29 May 2004 12:28:14 GMT   <br>     [Server] =&gt; Apache/1.3.27 (Unix)  (Red-Hat/Linux)   <br>     [Last-Modified] =&gt; Wed, 08 Jan 2003 23:11:55 GMT   <br>     [ETag] =&gt; "3f80f-1b6-3e1cb03b"   <br>     [Accept-Ranges] =&gt; bytes   <br>     <strong>[Content-Length] =&gt; 438 </strong>  <br>     [Connection] =&gt; close   <br>     [Content-Type] =&gt; text/html   <br> )   <br> ?&gt;   

方法二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) &amp;&amp; !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--&gt;'.$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元

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットな記事タグ

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Python プログラミングの入門コード例について学びます。 Python プログラミングの入門コード例について学びます。 Jan 04, 2024 am 10:50 AM

Python プログラミングの入門コード例について学びます。

PHPを使用して在庫管理システムに在庫管理機能コードを記述する方法 PHPを使用して在庫管理システムに在庫管理機能コードを記述する方法 Aug 06, 2023 pm 04:49 PM

PHPを使用して在庫管理システムに在庫管理機能コードを記述する方法

PHP 変数の実際の使用: 10 の実際の使用例 PHP 変数の実際の使用: 10 の実際の使用例 Feb 19, 2024 pm 03:00 PM

PHP 変数の実際の使用: 10 の実際の使用例

Go 言語プログラミングの例: Web 開発のコード例 Go 言語プログラミングの例: Web 開発のコード例 Mar 04, 2024 pm 04:54 PM

Go 言語プログラミングの例: Web 開発のコード例

Java は単純なバブルソートコードを実装します Java は単純なバブルソートコードを実装します Jan 30, 2024 am 09:34 AM

Java は単純なバブルソートコードを実装します

初心者から熟練者まで: Go 言語で一般的に使用されるデータ構造のコード実装 初心者から熟練者まで: Go 言語で一般的に使用されるデータ構造のコード実装 Mar 04, 2024 pm 03:09 PM

初心者から熟練者まで: Go 言語で一般的に使用されるデータ構造のコード実装

Huawei Cloud Edge Computing Interconnection Guide: インターフェースを迅速に実装するための Java コード例 Huawei Cloud Edge Computing Interconnection Guide: インターフェースを迅速に実装するための Java コード例 Jul 05, 2023 pm 09:57 PM

Huawei Cloud Edge Computing Interconnection Guide: インターフェースを迅速に実装するための Java コード例

ガイダンスと例: Java で選択ソート アルゴリズムを実装する方法を学習します。 ガイダンスと例: Java で選択ソート アルゴリズムを実装する方法を学習します。 Feb 18, 2024 am 10:52 AM

ガイダンスと例: Java で選択ソート アルゴリズムを実装する方法を学習します。

See all articles