重複の可能性:
readdir()のキャッシュ
クリーンなURLがあり、ファイル自体がさまざまなレベルのフォルダーにあるようにサイトを設定しています。それを管理するために、次のスクリプトを使用して、ページのさらに下にインクルードを指示します。
function listFolderFiles($dir,$exclude){
global $flist;
$ffs = scandir($dir);
foreach($ffs as $ff)
{
if(is_array($exclude) and !in_array($ff,$exclude))
{
if($ff != '.' && $ff != '..')
{
if(!is_dir($dir.'/'.$ff))
{
}
if(is_dir($dir.'/'.$ff))
{
listFolderFiles($dir.'/'.$ff,$exclude);
}
if((is_dir($dir.'/'.$ff)) != 1 && strtolower(substr($ff, strrpos($ff, '.') + 1)) == 'php')
{
$name = basename($ff, ".php");
$flist[] .= $name;
}
}
}
}
}
listFolderFiles('content/',array('filelist.php'));
$removing = array('_en','_es');
$pages = str_replace($removing, "", $flist);
unset($dir, $exclude, $flist);
listFolderFiles('content/Beginner/',array('filelist.php'));
$removing = array('_en','_es');
$beginner = str_replace($removing, "", $flist);
unset($dir, $exclude, $flist);
listFolderFiles('content/Intermediate/',array('filelist.php', $beginner));
$removingi = array('_en','_es');
$intermediate = str_replace($removingi, "", $flist);
unset($dir, $exclude, $flist);
listFolderFiles('content/Advanced/',array('filelist.php', $beginner));
$removinga = array('_en','_es');
$advanced = str_replace($removinga, "", $flist);
現在すべてのページロードで使用されており、新しいファイルを追加するときにのみ更新する必要があるため、このコードを実行するためのより高速な方法はありますか?