ホームページ  >  記事  >  バックエンド開発  >  PHP_PHP チュートリアルでのディレクトリとフォルダーを移動するさまざまな方法の詳細な説明

PHP_PHP チュートリアルでのディレクトリとフォルダーを移動するさまざまな方法の詳細な説明

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

ディレクトリを走査する、またはディレクトリ内の指定されたタイプのファイルを走査する これは、すべての子供がプログラムを作成するときに必ず使用するものです。 PHP 自体にも非常に便利な機能が多数用意されており、それらを正しく使用すれば間違いはありません。
以下は私個人の学習プロセスの概要です。これから PHP を学びたいと思っている子供たちに役立つことを願っています。
この関数は、指定されたディレクトリ (サブディレクトリを含む) 内のすべてのファイルを一覧表示できます

コードをコピーします コードは次のとおりです:

function getfiles($path){
foreach(scandir($path) as $ afile)
{
if($afile=='.'||$afile=='..') 続行
if(is_dir($path.'/'.$afile))
{
getfiles($path) .'/'.$afile);
} else {
echo $path.'/'.$afile.'
';
}
}
} //現在のディレクトリをリストします。 files under
getfiles(__DIR__);

scandir() は、指定されたディレクトリの下にあるすべてのファイルとディレクトリの配列を返します。PHP では、非常に強力な関数 glob()、glob() も提供されます。 2 番目のパラメータはオプションであり、後で説明します。 glob() を使用してディレクトリをトラバースする方法を直接見てみましょう。
「.」と「..」が glob() によって返されたコンテンツから除外されていることがわかります。ここで、* はディレクトリ内のすべてのファイルを走査することを意味します。同様に、*.txt に変更すると、ディレクトリ内のすべての txt ファイルがスキャンされます。とても便利ではないでしょうか?袁芳氏によると、その便利さにはそれだけではなく、大きな秘密が隠されているそうです。それについては後ほどお話しますので、ご興味がございましたら、メッセージを残していただけますようお願いいたします。
コードをコピーします コードは次のとおりです:

function getfiles($path){
foreach(glob($path) as $afile){
if(is_dir($afile))
{ getfiles( $afile. '/*'); } else { echo $afile.'
' }
}
} //現在のディレクトリ内のすべてのファイルをリストします
getfiles(__DIR__);0

*.txt を使用するとディレクトリ内のすべての txt ファイルが走査されるため、特定の形式のファイルを同時に走査したい場合はどうすればよいでしょうか?何をするか?配列を使用することを考えた子供もいるでしょう。すぐに配列を書き出して、それを {*.txt,*.jpg,*.zip,...} に置き換えました。もちろん、プログラムが false を返したこともすぐに発見しました。そして何も得られませんでした。がっかりしないでください。これには、先​​ほど述べた 2 番目のオプションのパラメーターが含まれます。詳細については、PHP マニュアルを参照してください。ここでは詳しく説明しません。 GLOB_BRACE について。これは、{a,b,c,...} を展開して 'a'、'b'、または 'c',... に一致させるために使用されます。使用法は次のとおりです: foreach(glob($path.'/{*.txt,*.jpg,*.zip,...}', GLOB_BRACE) as $fileName){...}
完全なものについてはディレクトリ内のすべてのファイルの走査 ファイル タイプを指定する関数。次の例が見られます

フォルダーとサブフォルダー内のすべてのファイルをスキャンします

コードをコピーします コードは次のとおりです:


失敗時に返す FALSE
WHILE (($ File = Readdir ($ Current_dir))! == False) {// Readdir () 開いているディレクトリ ハンドルのエントリに戻ります
$ sub_dir = $ PATH . ディレクトリ。Jianzi ディレクトリ パス if ($ file == '.' || $ file == '...') {
} else if (is_dir ($ sub_dir)) {// 、再帰的
echo 'directoryay ' ':
';
ディレクトリ「 」のファイル。 ': ' '
';





よく使用される例



コードをコピー

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


$dir="E:/video"; // ここに他のパスを入力します
//PHP はフォルダー内のすべてのファイルをスキャンします
$handle=opendir($dir." .");
echo "File:
";
while (false !== ($file = readdir($handle) ))){if ($file != "." && $file != "..") {echo $file; //出力ファイル名}
}
closedir($handle)?> ;


私はこのコードを使用してすべてのファイルを走査し、すべてのファイル名を配列に保存しました。



コードをコピーします

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


$s=explode("/n",trim(`dir/b e://video`));
print_r( $s);
?>
$dir="E:/video"; //ここに他のパスを入力します
//PHP はフォルダー内のすべてのファイルをスキャンします$handle=opendir($dir.") ."); echo "ファイル:
";
while (false !== ($file = readdir($handle)))
{
if ($file != "." && $file != ".." ) {
$file=$file.','; //出力ファイル名
$file=explode(',',$file);
}
print_r($file);//出力は配列
closedir($handle);
?>
$dir="."; //ここに他のパスを入力します
//PHP はフォルダー内のすべてのファイルを走査します
$handle=opendir( $dir." .");
echo "File:
";
//ファイル名を格納するために使用される配列を定義します
$array_file = array();
while (false !== ($file = readdir) ($handle)) ))
{
if ($file != "." && $file != "..") {
$array_file[] = $file //出力ファイル名
}
}
closedir ($handle);
print_r("
");<br>print_r($array_file);<br>print_r("
");
?>

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/825161.html技術記事ディレクトリを走査したり、ディレクトリ内の指定されたタイプのファイルを走査したりすることは、すべての子供がプログラムを作成するときに必然的に使用するものです。 PHP 自体にも、正しく使用できる便利な関数が多数提供されています...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。