ファイルを開いてその中の文字列を見つけ、文字列が見つかった行番号を出力する必要があるアプリケーションがあります。
たとえば、ファイルexample.txtにはいくつかのハッシュが含まれています。
APLF2J51 1a79a4d60de6718e8e5b326e338ae533
EEQJE2YX 66b375b08fc869632935c9e6a9c7f8da O87IGF8R c458fb5edb84c54f4dc42804622aa0c5
APLF2J51
B7TSW1ZE 1e9eea56686511e9052e6578b56ae018
EEQJE2YX affb23b07576b88d1e9fea50719fb3b7
そこで、PHP で "1e9eea56686511e9052e6578b56ae018" を検索し、その行番号 (この場合は 4) を出力します。
ファイルに複数のハッシュがないことに注意してください。
インターネットでいくつかのコードを見つけましたが、どれも機能していないようです。
私はこれを試しました:
<?PHP
$string = "1e9eea56686511e9052e6578b56ae018";
$data = file_get_contents("example.txt");
$data = explode("\n", $data);
for ($line = 0; $line < count($data); $line++) {
if (strpos($data[$line], $string) >= 0) {
die("String $string found at line number: $line");
}
}
?>
文字列が0行目にあると言っているだけです....これは正しくありません....
最終的なアプリケーションはそれよりもはるかに複雑です...行番号を見つけた後、文字列を別のものに置き換え、変更をファイルに保存してから、さらに処理を進めます....
前もって感謝します :)