いくつかのディレクトリをループし、フィルタリングされた結果をエコーする検索エンジンをphpにまとめています。
私の問題は、すべての検索が完了するまでエコーが実行されないため、スクリプトが完了するまでページが空白のままになることです。
これは正常ですか?もしそうなら、エコーが呼び出されたときに検索結果を表示するにはどうすればよいですか?
また、最終的には結果の画像を画面に書き込む予定です。すべてをエコーする代わりに、JS document.write関数を呼び出すことで、クライアント側とサーバー側の両方を同時に利用することで処理を高速化できますか?
編集:これが反復しているコードです。私はタグ付けシステムを持っていますが、その部分は現在コメントアウトされています...
function checkTags($dir, $search){
global $tag;
$filesInDir = array_map('strtolower', scandir($dir)); // lower case the files
$filterOut = array('.','..');
$filesInDir = array_diff($filesInDir, $filterOut); // get rid of the current '.' and parent '..' values
// print_r($filesInDir);
foreach($filesInDir as $file) {
if($file == $tag) { // found a tag
echo 'found tag: '.$file.'<br>';
/* $tagDir = dirname($tag);
$tagContents = strtolower(file_get_contents($file).'<br>'.$tagDir); // adding full path to include parent dirs in tag searching
foreach($search as $s){
if(strpos($tagContents, $s) !== false){ // the tag has a search word
//getFiles($tagDir);
}
} */
}
elseif(is_dir($dir.'/'.$file) !== false) { //is a folder, so try in there
//print_r($file);
echo 'found dir: '.htmlspecialchars($file).'<br>';
checkTags($dir.'\\'.$file, $search);
}
}
}
ありがとう