PHPディレクトリイテレータRecursiveDirectoryIteratorの効率を向上させる方法
Jun 23, 2016 pm 01:55 PM イテレータメソッド
<?php
echo 'プログラム開始時刻:'.time().'<br>';
$path = 'd:/www';
echo ' プログラムend time: '.time().'<br>';
exit;
echo '<pre>';
//現在のパスの下にあるすべてのディレクトリとファイル名を取得します
//この使用法は主に次の場合に使用されます。リモートサーバーディレクトリを取得するための B/S プログラム
var_dump(array_keys(iterator_to_array(new RecursiveDirectoryIterator($path))));
exit;
//現在のパスの下にあるすべてのディレクトリとファイルを反復的に取得します
function getRevDir( $path , $level = 0){
$dirIterator = new RecursiveDirectoryIterator($path);
$strSplitBar = '';
for($i=0;$i<$level;$i++){
if($i == $level-1){
$strSplitBar .= '|__';
}else{
$strSplitBar .= ' ';
}
}
foreach ($dirIterator as $key => $ fileInfo) {
if($dirIterator->hasChildren()){
$dirName = substr($key,strrpos($key, DIRECTORY_SEPARATOR)+1);
echo $strSplitBar.$dirName.'<br>' ; getRevDir($key, $level+1);
}else{
echo $strSplitBar.basename($key).'<br>';
}
}
}
プログラム開始時刻: 1402624676
プログラム終了時刻: 1402624682
opendir メソッド
<?php
echo 'プログラム開始時刻:'.time().'<br>';
$path = 'd:/www'
getRevDir($ path); ;
echo 'プログラム終了時刻:'.time().'<br>'
echo '<pre>'
//現在のパスの下にあるすべてのディレクトリとファイル名を取得します。使用法は主にリモートサーバーディレクトリを取得するために B/S プログラムで使用されます
var_dump(array_keys(iterator_to_array(new RecursiveDirectoryIterator($path))));
exit
//現在のパスとファイルの下にあるすべてのディレクトリを反復的に取得します
関数getRevDir($path, $level = 0){
$dirIterator = new RecursiveDirectoryIterator($path);
$strSplitBar = '';
if( $i == $level-1){
$strSplitBar .= '|__';
}else{
$strSplitBar .= ' '
}
}
foreach ($dirIterator as $key => ; $fileInfo){
if($dirIterator->hasChildren()){
$dirName = substr($key,strrpos($key, DIRECTORY_SEPARATOR)+1); '<br> ;';
getRevDir($key, $level+1);
}else{
echo $strSplitBar.basename($key).'<br>'
実行結果
時刻: 1402624679
プログラム終了時刻: 1402624682
時差は膨大です
ディスカッションへの返信 (解決策)
ウェブサイトのディレクトリ全体を横断するのにかかる時間はわずか 3 秒で、十分な速さです
横断の効率それでおしまい。
ディレクトリ ツリーを取得して処理するには、Linux コマンドを使用する必要がありますか?

人気の記事

人気の記事

ホットな記事タグ

メモ帳++7.3.1
使いやすく無料のコードエディター

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

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

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

ホットトピック











Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド

PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法
