boypush
@boypush
Geek

Как сделать проверку наличия строки в txt через php и записать ее в файл txt?

Помогите пожалуйста, как сделать проверку наличия строки innerhtml в txt через php. При отсутствии в txt строки записать ее, а при наличии вывести уведомление что уже существует.
Например есть элемент содержащий какой-то текст в данном случае Sometext
<td id="text">Sometext</td>
При нажатии кнопки
<button type="submit" id="btncheck">Check</button>
innerhtml вышеуказанного элемента <td>меняется на любой другой например Sometext1 и проверяется на наличие в файле txt, если есть вывод уведомления, если нет записывает в новую строку в файле txt.
UPD:
В общем написал на php проверку и запись, но как это все сделать асхинхронным, и как передать значение innerhtml из DOM в переменную $hex пока не понятно...
<td>0101010110101001010110</td> // как это передать в $hex?
<?php
function checkhex() {
// Читаем файл построчно
function getLines($file) {
    $f = fopen($file, 'r');
    try {
        while ($line = fgets($f)) {
            yield $line;
        }
    } finally {
        fclose($f);
    }
}

$file = "hex.txt";
$hex = "00000000000000000000000000000000000000000000000000000000000001"; // Как передать сюда из html?
$exists = false;

// Проверяем хекс
foreach (getLines($file) as $line) {
    $exists = $exists || trim($line) === $hex;
}

if ($exists) {
    echo "<font color='red;'>Имеется в базе</font><br>";
} else {
	echo "<font color='red;'>Не имеется в базе, записываем!</font><br>";
	$filed = "hex.txt";
    $rez = file_get_contents($filed);
    $rez .= "\r\n$hex";
    file_put_contents($filed, $rez);
}
}
?>
  • Вопрос задан
  • 210 просмотров
Пригласить эксперта
Ответы на вопрос 1
@Aricus
Чтобы передать данные с фронтенда на бекэнд, используйте jquery + ajax. При подготовке данных к отправке, вы можете извлечь кусок html кода из самой страницы (если я правильно понял).
Далее вы на сервере можете обработать эти данные в php, в том числе провести все манипуляции с файлом txt.
В результате обработки выведите на страницу (echo '';), тот текст который получит jquery. В зависимости от него, выведите пользователю соответствующее сообщение.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы