workRave
@workRave

Работа с .txt | Как взять и удалить строку?

Добрый день.
У меня есть файл id.txt
117483784
116028740
112290944
112151746
111460202
9367707
106495597
105571390
102377421
100547274
99354098
98154594
97137550
97081016

Я хочу:
Взять строку из id.txt. Удалить эту строку.
Записать данные в result.txt -> "id;work" т.е. id в работе.
При щелчке по кнопке: <button type="button">Да</button> -> Найти строку id;work, и поменять ее на id;da в result.txt
При щелчке по кнопке: <button type="button">Нет</button> -> Найти строку id;work, и поменять ее на id;net в result.txt

При все легкости на бумаге я уже 2 часа не могу разобраться, как это сделать в PHP.
Что делать? Неужели нет каких-то простых инструкций?
  • Вопрос задан
  • 147 просмотров
Решения вопроса 1
@AdrianBlair
Алгоритм не пробовал составить?

Создал файл index.php:
<?php
$str = $_GET["str"];
$idtxt = "id.txt";
$resulttxt = "result.txt";
if ($str != "") {
	$str--;
	$file = file($idtxt);
	$fp = fopen($idtxt,"w");
	for($i = 0; $i < sizeof($file); $i++) {
		if($i == $str) {
			$array = $file;
			$sid =  $array[$i];
			unset($file[$i]);
		}
	}
	fputs($fp, implode("", $file));
	fclose($fp);
	$after = file_get_contents($resulttxt);
	$sid = trim($sid);
	$sid = str_replace("\r", "", $sid);
	$sid = str_replace("\n", "", $sid);
	$after .= "$sid;work\n";
	file_put_contents($resulttxt, $after);
	if($_GET["action"] == "y") {
		$str = trim("$sid;work");
		$edit  = trim("$sid;da"); 
		$file = file($resulttxt);
		if (is_array($file)) {
			foreach($file as $key => $value) {
				$file[$key] = str_replace($str, $edit, $value); 
			}
		}
		$fp = fopen($resulttxt, "w"); 
		fwrite($fp, implode("", $file)); 
		fclose($fp);
	} else if ($_GET["action"] == "n") {
		$str = trim("$sid;work");
		$edit = trim("$sid;net"); 
		$file = file($resulttxt);
		if (is_array($file)) {
			foreach($file as $key => $value) {
				$file[$key]= str_replace($str, $edit, $value); 
			}
		}
		$fp = fopen($resulttxt, "w"); 
		fwrite($fp, implode("", $file)); 
		fclose($fp);
	}
}
?>


Создал id.txt:
1
12
123
1234
12345
123456
1234567


Создал пустой файл result.txt.

Итог:
1. Делаю запрос к index.php (localhost/index.php?str=7&action=y)
2. Проверяю файл id.txt:
1
12
123
1234
12345
123456

2. Проверяю файл result.txt:
1234567;da
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
18 апр. 2024, в 21:56
2000 руб./за проект
18 апр. 2024, в 21:00
150 руб./за проект