ホームページ  >  記事  >  バックエンド開発  >  指定されたディレクトリ内の PHP で指定されたサイズのファイルを検索する方法、_PHP チュートリアル

指定されたディレクトリ内の PHP で指定されたサイズのファイルを検索する方法、_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-13 10:12:47889ブラウズ

指定されたディレクトリで指定されたサイズのファイルを検索する php メソッド、

この記事の例では、PHP が指定されたディレクトリ内で指定されたサイズのファイルを検索する方法について説明します。参考のためにみんなで共有してください。具体的な実装方法は以下の通りです

ファイル サイズを見つけるための PHP の原理は、ディレクトリを走査し、次に filesize を使用してファイル サイズを計算し、その後、別の判断を追加するだけです

以下にいくつかの例を示します。

まずディレクトリの走査を見てみましょう。コードは次のとおりです:

コードをコピーします コードは次のとおりです:
関数ツリー($directory)
{
$mydir = ディレクトリ($ディレクトリ); エコー「
    n」; while($file = $mydir->read())
    {
    if((is_dir("$directory/$file")) AND ($file!=".") AND ($file!=".."))
    {
    echo "
  • $file
  • n"; ツリー("$ディレクトリ/$ファイル"); }
    それ以外は
    echo "
  • $file
  • n"; }
    エコー "
n"; $mydir->close(); }
// 実行を開始します

echo "

ディレクトリはピンクです


n"; ツリー("./nowmagic");

これはすべてのディレクトリ内のファイルを表示するだけですが、サイズを確認したい場合は、round(filesize($cpath)/1024,1) 関数を追加する必要があります。これにより、サイズを取得した後にファイル サイズを表示できるようになります。コードは次のとおりです:



コードをコピーします

コードは次のとおりです:

header("Content-Type:text/html;charset=gbk"); set_time_limit(0); $dirpath=ディレクトリ名(__FILE__); //バイト
$limitByte=1024*110; //ここを適切な検索ファイルの最小サイズ (バイト単位) に変更します。 1024*100 は 1024*100 バイト、つまり 100KB を意味します $arrRes=$arrTmp=配列(); showMaxFile($dirpath,$limitByte); 関数 showMaxFile($path,$limitByte){ グローバル $arrRes; $h=opendir($path); if($h){ while (false !== ($file = readdir($h))) { if($file!='.' && $file!='..'){
$cpath=$path.'/'.$ファイル
if(is_dir($cpath)){
showMaxFile($cpath,$limitByte); }その他{
if(ファイルサイズ($cpath) > $limitByte){
$arrRes[]=array($cpath,round(filesize($cpath)/1024,1)); //echo "

{$cpath}
".(filesize($cpath) / 1024)."KB

"; }
}
}
}

}
閉じた($h); }
foreach($arrRes as $k=>$v){
$arrTmp[$k]=$v[1]; }
アルソート($arrTmp)
foreach($arrTmp as $k=>$v){
echo "

".str_replace($dirpath,'',$arrRes[$k][0])."
".$arrRes[$k][1]."";
}
?>

最後に、バイト計算関数を添付します。これは次のように変換できます。


コードをコピーします

コードは次のとおりです:

//
でバイト数を単位に変換します /* 原理は、対数を使用して、変換されるバイト数が 1024 の何乗であるかを調べることです。
※実際には対数の性質を利用して単位を決めることになります。
*/
function size2mb($size,$digitals=2){ //保持する桁数、小数点以下の桁数
$unit= array('','K','M','G','T','P');//単位配列は 1024 桁の順序である必要があります。
$base= 1024;//対数の底
$i = Floor(log($size,$base));//バイト数は1024の対数であり、値は切り捨てられます。
ラウンド($size/pow($base,$i),$digits)を返します。'.$unit[$i] 'B'; }


この記事で説明した内容が皆様の PHP プログラミング設計に役立つことを願っています。


http://www.bkjia.com/PHPjc/919264.htmlwww.bkjia.comtru​​e
http://www.bkjia.com/PHPjc/919264.html

技術記事

PHP を使用して、指定したディレクトリで指定したサイズのファイルを検索する方法 この例では、PHP を使用して、指定したディレクトリで指定したサイズのファイルを検索する方法について説明します。参考のためにみんなで共有してください。具体的な実装方法は以下の通りです...




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