加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

如何在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";

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读