如果$ string发现中断,则添加新的不起作用

时间:2018-06-04 20:21:53

标签: php post

我做错了什么? 这不会产生任何影响

$id = $_POST['id'];
$tudof = "\n #QTP ".$qtp." ID: ".$id;
echo "\n";
$fp = fopen('../../../ids.txt', 'a+');
$searchString = "id";

if(exec('grep '.escapeshellarg($searchString).' '.$fp)) {
    break;
} else {
    // Add the new name
    fwrite($fp, $writef);
    fclose($fp);
}

如何搜索字符串,如果没有找到,请添加新名称?

1 个答案:

答案 0 :(得分:0)

我相信这会奏效 我使用file_get_contents将文件作为一个字符串加载,并使用strpos查找" id"。
我还包括一个preg_match版本,因为strpos将匹配" lid"为" id" preg_match赢了。

$id = $_POST['id'];
$tudof = "\n #QTP ".$qtp." ID: ".$id;
echo "\n";
$str = file_get_contents('../../../ids.txt');
$searchString = "id";

if(strpos($str, $searchString) !==false) {
// Found it! Break won't work.
// If you want to stop all php code use exit; 
} else {
// Add the new name
// Not sure what you do here but use file_put_contents
file_put_contents('../../../ids.txt', $str);
}


// Preg_match
if(preg_match("/\b " . $str ."\b/", $searchString)) {