ホームページ >バックエンド開発 >PHPチュートリアル >PHP を使用してフォルダーとサブディレクトリを移動するための関数コードは、lost.dir とは何ですか?

PHP を使用してフォルダーとサブディレクトリを移動するための関数コードは、lost.dir とは何ですか?

WBOY
WBOYオリジナル
2016-07-29 08:46:481429ブラウズ

ここで使用する関数は Scandir です。これは、Dir と同様に、指定されたパス内のファイルとディレクトリを一覧表示します。

 使用PHP遍历文件夹与子目录的函数代码
> およびより強力な Glob() 関数は、指定されたパターンに一致するファイル名またはディレクトリを配列の形式で返します。
> 注意: Xiaoxie のようにコンピューターの前に長時間留まらないでください。そうしないと、Xiaoxie のように高血糖に悩まされます。
1. 単層フォルダーのスキャン:
> 単層フォルダーのスキャンの問題は、2 つの機能の結果は異なりますが、パフォーマンスはそれほど変わらないことです。
> Scandir 関数では「.」と「..」という 2 つの追加行が提供されますが、Glob では提供されません。

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


function get_dir_scandir(){
$tree = array();
foreach(scandir('./') as $single){
echo $single. "< br/>rn";
}
}
get_dir_scandir();
$tree = array()
foreach('./*') as $single); echo $single ."
rn";
}
}


2. フォルダー ツリーを再帰的にスキャンする場合は、Glob 関数を使用します。パフォーマンスが向上し、非常に正確になります。
> Scandir 関数は、不可解にも ../ にあるファイルを 2 回スキャンします。つまり、Xiaoxie に 2 つのファイルがある場合です。

> ../b.php と ../a.php では、結果がスキャン レポートに 2 回表示されますが、これは非常に奇妙です。



コードをコピーします

コードは次のとおりです://2010.07.25更新 - 次のコードは無効です$path = '..'

function get_filetree_scandir($path){

$;ツリー = array();
foreach(scandir($path) as $single){
if(is_dir('../'.$single)){
$tree = array_merge($tree,get_filetree($single)) ;
}
$tree[] = '../'.$single;
}
return $tree;
print_r(get_filetree_scandir($path))
//2010.07.25 に更新- 以下は新しいコードです
$path = './';
function get_filetree_scandir($path){
$result = array();
if (!is_dir($path); |!is_readable($path)) return null; // ディレクトリの有効性を確認します
$allfiles = scandir($path); // ディレクトリ内のすべてのファイルとフォルダーを取得します
foreach ($allfiles as $filename) { / /ディレクトリ内のファイルとフォルダーを走査します
if (in_array($filename,array('.','..'))) //無視します。および..
$fullname = $path.'/'。 $filename; //完全なファイルパスを取得します
if (is_dir($fullname)) { //ディレクトリの場合は再帰を続行します
$result[$filename] = get_filetree_scandir($fullname); //再帰を開始します}
else {
$temp[] = $filename; / /ファイルの場合は配列に保存します
}
}
foreach ($temp as $tmp) { //一時配列の内容を保存します結果を保持する配列
$result[] = $tmp; //これにより、フォルダーが前に配置され、ファイルが後ろに配置されます
}
return $result;
print_r(get_filetree_scandir($path));


> Glob 関数のスキャンは非常に正確で、順序を自動的にアルファベット順に並べ替えます。



コードをコピーします

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

$path = '..';
function get_filetree($path){
$tree = array(); /*' ) as $single){

if(is_dir($single)){ $tree = array_merge($tree,get_filetree($single)) } else{ $tree[] = $single;

$tree を返す

}
print_r(get_filetree($path));
上記では、lost.dir がどのようなフォルダーであるかを示す関数コードを紹介し、PHP を使用してフォルダーとサブディレクトリを移動します。これには、lost.dir がどのようなフォルダーであるかの内容も含まれており、PHP チュートリアルに興味のある友人に役立つことを願っています。


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