如何在PHP中的文本文件中限制重复数据输入到现有数据?
发布时间:2020-12-13 22:11:01 所属栏目:PHP教程 来源:网络整理
导读:我有一个’names.txt’文本文件,其名称有John,Mike,Julia.现在我在追加模式下输入另一组名称,如Steve,Ben,Mike等现有的’names.txt’文件. 如何限制php中的’Mike’重复条目?或者我如何提示错误消息,例如’Mike,name已经存在.请输入另一个名称,以便可以避免
我有一个’names.txt’文本文件,其名称有John,Mike,Julia.现在我在追加模式下输入另一组名称,如Steve,Ben,Mike等现有的’names.txt’文件.
如何限制php中的’Mike’重复条目?或者我如何提示错误消息,例如’Mike,name已经存在.请输入另一个名称,以便可以避免重复. 代码是 <!DOCTYPE html> <html> <head> <title>Form Page</title> </head> <body> <form action="Files.php" method="POST"> <textarea rows="15" cols="30" value="textbox" name="textbox"></textarea></br> <input type="submit" value="Save" name="Save"> <input type="submit" value="Fetch" name="Fetch"> </form> </body> </html> <?php /*** Get names from 'names.txt' file and prints the names stored in it ***/ if(isset($_POST['Fetch'])){ $file_names = "names.txt"; $current_names = file_get_contents($file_names); echo nl2br($current_names); } /*** Get names from text box and Put to the 'names.txt' file in append mode ***/ if(isset($_POST['Save'])){ $current_names = $_POST["textbox"]; file_put_contents("names.txt",PHP_EOL.$current_names,FILE_APPEND); /*** Get names form 'names.txt' file and prints the names stored in it ***/ $file_names = "names.txt"; $current_names = file_get_contents($file_names); echo nl2br($current_names); } ?> 解决方法
使用PHP_EOL分隔文本文件条目时:
(小心 – PHP_EOL的输出取决于PHP运行的操作系统!) //new name to insert if not in file: $new_name = "Martin"; $file_content = file_get_contents('names.txt'); //names into array elements $content_array = explode(PHP_EOL,$file_content); //trim spaces and stuff from the data in your array: foreach($content_array AS $key => $value) { $content_array[$key] = trim($value); } if(in_array($new_name,$content_array)) echo "name found - don't save it again"; (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |