私はここで広範囲に検索しましたが、私の問題(php)の解決策はありません。
シナリオ:ユーザーが事前に割り当てられた登録番号(datafile.txt内)を使用してログインページにアクセスし、フィールドに番号を入力すると、スクリプトは番号が存在する場合はファイルを検索します。
存在する場合は、次の手順に進みます。次のステップが完了したら、一度実行した元の番号を自動的に「削除」したいと思います。
「完全に一致する」ものを検索しながら、「検索して置換」するのが道だと思います。
私のデータファイルは次のようになります:(datafile.txt)
0
12
123
1234
12345
123456
12、検索した場合、123と同じにはなりません。
数日前に私がとても親切に与えられたスクリプトは、別のタスクを実行するためのものです。
$numbers = file_get_contents("datafile.txt");
$uNumber = $_POST['uNum'];
if ( @preg_match( "/([^0-9]{$uNumber}[^0-9])/", $numbers ) ) {
echo "Numbers match";
}
私が新しいタスクのためにやろうとしたことは次のとおりでしたが、成功しませんでした。
$numbers = file_get_contents('datafile.txt', 'w+');
$uNumber = $_POST['uNum'];
if ( @preg_match( "/([^0-9]{$uNumber}[^0-9])/", $numbers ) ) {
$numbers = preg_replace('.$_Post["uNum"]','',$numbers);
echo "Existed but will be deleted from file. ";
} else {
echo "Message showed if not in file.";
}
どんな助けでも大歓迎です。