が、それはすべてのファイルの上にのみ1つのファイルに
だけでループを検索します。
関数にラップするので、すべてのファイルにループする必要はありません。
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',];
として、既存のlangフォルダ名を含む配列を作成し、そのクラスDirectoryIterator
でglob
または1つを使用することができます。
は、あなたはおそらくファイルをロードして、それが生成する文字列を検索するには、 `file_get_contents`を使用することができ、あなたがPHPを使用してHTML/PHPデータを出力していると仮定したループ
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ファイルのPHP要素も検索することに注意してください。本当にやりたいことは、出力バッファリング、または恐らくCurlを使用することです。 – Martin
^curlが利用できない場合のために 'file_get_contents'はラッパーも受け入れます。しかし、実際には 'allow_url_fopen'を有効にする必要があります。そして、xpathはこの場合多くを助けるかもしれません。 – Chay22
私は1つのファイルに対してこのコードを使うことができますが、たくさんの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 "ニュースが見つかりました"; } ?> '日付リストには、' <?php $ news = "160702"; $ news = "160701"; $ news = "160630"; $ news = "160629"; $ news = "160628"; ?> ' –