,但它僅搜索一個文件
在所有文件只是循環。
將它包裝成一個函數,所以你不需要循環到所有文件。
function wordFoundOnLangFiles($filename, $query) {
$filename = "news/". $filename."/lang.php";
$searchfor = "$query";
$file = file_get_contents($filename);
return strpos($file, $searchfor !== false) ? true : false;
}
創建包含現有郎文件夾名稱的數組,如
$lang = ['en', 'de', 'ru', 'ja', 'ko',];
如果是動態創建的那些文件夾,可以使用glob
或一個與DirectoryIterator
類。
開始循環
function wordFoundOnLangFiles($filename, $query) {
$filename = "news/". $filename."/lang.php";
$searchfor = "$query";
$file = file_get_contents($filename);
return strpos($file, $searchfor !== false) ? true : false;
}
$lang = ['en', 'de', 'ru', 'ja', 'ko',];
foreach ($lang as $folder) {
if (wordFoundOnLangFiles($folder, $query)) {
echo "Word found";
}
}
假設你使用PHP和輸出HTML/PHP的數據,那麼你可能使用'file_get_contents'加載一個文件,然後搜索該生成的字符串。但是請注意,它也會搜索PHP文件的PHP元素,所以你真正想要做的就是開始使用輸出緩衝,或者可能是Curl ...? – Martin
^'file_get_contents'也接受包裝器,以防捲曲不可用。但確實需要啓用'allow_url_fopen'。而且,在這種情況下,xpath可能會有很多幫助。 – Chay22
我只能將這段代碼用於一個文件,但我有很多lang文件,並且我需要搜索它們全部'<?php $ query = $ _GET [「q」]; 包含「date-list.php」; $ filename =「news /」。 $ news。「/ lang.php」; $ searchfor =「$ query」; $ file = file_get_contents($ filename); if(strpos($ file,$ searchfor)) { echo「發現發現的新聞」; } ?>'date-list contains'<?php $ news =「160702」; $ news =「160701」; $ news =「160630」; $ news =「160629」; $ news =「160628」; ?> –