検索
ホームページphp教程PHP开发PHP で glob 関数を使用してディレクトリまたはフォルダーをトラバースする方法

この記事の例では、PHP が glob 関数を使用してディレクトリまたはフォルダーを移動する方法を説明します。皆さんの参考に共有してください。具体的な分析は次のとおりです:

PHP でディレクトリを走査するというと、多くの友人はディレクトリを走査してファイルを表示できる opendir と readdir を思い浮かべるでしょう。しかし、PHP にはより簡潔な関数 glob があります。この関数について知っている人はほとんどいないと思われますが、opendir や readdir よりもはるかに簡単だと思います。

PHP glob 関数の使用法: パターンに一致するファイル パスを見つけます。例のコードは次のとおりです。

<?php
$fileList=glob(&#39;*.*&#39;); 
for ($i=0; $i<count($fileList); $i++) { 
echo $fileList[$i].&#39;<br />&#39;; 
} 
$fileList2=glob(&#39;images/*&#39;); 
for ($i=0; $i<count($fileList2); $i++) { 
echo $fileList2[$i].&#39;<br />&#39;; 
} 
$fileList3=glob(&#39;*&#39;); 
for ($i=0; $i<count($fileList3); $i++) { 
echo $fileList3[$i].&#39;<br />&#39;; 
} 
?>

最初のタイプ: glob 関数 パラメーターは次のとおりです: *.*。これは、現在のディレクトリ内のファイルをスキャンし、フォルダーを除外し、配列を返すことを意味します。

次の 2 つの状況は同じです。


2 番目: glob 関数のパラメーターは次のとおりです:images/* は、フォルダーを含むすべてのファイルをスキャンするディレクトリを指定します。また、images/*.jpg などの指定されたファイル タイプもスキャンできます。 「images」と入力するだけで、フォルダー名のみが返されます。 「images/」と入力すると、何も返されません。

3 番目のタイプ: glob 関数のパラメーターは次のとおりです: *、すべてのファイル、ディレクトリをスキャンできます。

OK、opendir と readdir がディレクトリを走査する様子を見てみましょう。コードは次のとおりです:

<?php 
/********************** 
一个简单的目录递归函数 
第一种实现办法:用dir返回对象 
***********************/ 
function tree($directory)  
{  
$mydir = dir($directory);  
echo "<ul>\n";  
while($file = $mydir->read()) 
{  
if((is_dir("$directory/$file")) AND ($file!=".") AND ($file!=".."))  
{ 
echo "<li><font color=\"#ff00cc\"><b>$file</b></font></li>\n";  
tree("$directory/$file");  
}  
else  
echo "<li>$file</li>\n";  
}  
echo "</ul>\n";  
$mydir->close();  
}  
//开始运行 
echo "<h2 id="目录为粉红色">目录为粉红色</h2><br>\n";  
tree("./nowamagic"); 
/*********************** 
第二种实现办法:用readdir()函数 
************************/ 
function listDir($dir) 
{ 
if(is_dir($dir)) 
   { 
if ($dh = opendir($dir))  
{ 
   while (($file = readdir($dh)) !== false) 
{ 
if((is_dir($dir."/".$file)) && $file!="." && $file!="..") 
{ 
echo "<b><font color=&#39;red&#39;>文件名:</font></b>",$file,"<br><hr>"; 
listDir($dir."/".$file."/");
} 
else 
{ 
if($file!="." && $file!="..") 
{ 
echo $file."<br>"; 
 } 
} 
   } 
   closedir($dh); 
} 
   } 
} 
//开始运行 
listDir("./nowamagic"); 
?>

さて、皆さんはサブグロブ、opendir、readdir を記述してディレクトリを走査する方法を見てきました。コードの単純さの点では、glob は opendir と readdir よりも優れていますが、機能実装の点では同じ効果が得られるため、ディレクトリをトラバースするには glob 関数を使用することをお勧めします。

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

PHP が glob 関数を使用してディレクトリまたはフォルダーをトラバースする方法に関するその他の関連記事については、PHP 中国語 Web サイトに注目してください。

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

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

SublimeText3 英語版

SublimeText3 英語版

推奨: Win バージョン、コードプロンプトをサポート!

Dreamweaver Mac版

Dreamweaver Mac版

ビジュアル Web 開発ツール

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

SublimeText3 Mac版

SublimeText3 Mac版

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

EditPlus 中国語クラック版

EditPlus 中国語クラック版

サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません