если $ string найдено, то еще добавить новый не работает - PullRequest
0 голосов
/ 04 июня 2018

Я что-то не так делаю?Это не требует каких-либо эффектов

$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 голосов
/ 05 июня 2018

Я считаю, что это будет работать.
Я использую 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)) {
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...