<?PHP if(isset($_POST['content'])) {
$fd = @fopen($_POST['filename'],"w");
if(!$fd) exit("Такой файл отсутствует");
fwrite($fd,stripslashes($_POST['content']));
fclose($fd);
$_GET['filename'] = $_POST['filename']; } ?> <form method="get"> <input type="text" name="filename" value=<?PHP echo $_GET['filename']; ?>><br> <input type="submit" value="Редактировать">
</form>
<?PHP // Если в строке зароса передано имя // файла - открываем его для редактирования
if(isset($_GET['filename'])) {
$fd = @fopen($_GET['filename'],"r");
if(!$fd) exit("Такой файл отсутствует");
$bufer = fread($fd,filesize($_GET['filename']));
fclose($fd);
?>
<form method="post">
<textarea cols=76 rows=10 name="content"><?PHP echo $bufer; ?></textarea><br>
<input type="hidden" name="filename" value='<?PHP echo $_GET['filename']; ?>'>
<input type="submit" name="edit" value="Редактировать">
</form>
<?PHP } ?>
С помощью данного кода открываю файл для редактирования, но файл очень большой, и не удобно искать 1 строку для редактирования.Как открыть определенную строку для редактирования например за id?
<div id='1'>Текст</div>
<div id='2'>Текст</div>
<div id='3'>Текст</div>
Для того, чтобы прочитать определенную строку из файла, придется прочитать все строки перед ней. Объяснение очень простое - никто заранее не знает, с какой именно позиции файла начинается ваша запрошенная строка - поэтому придется читать по одной и отбрасывать ненужные.
Чуть подправленный пример из документации по fgets
$index = 23;
$handle = fopen("/tmp/inputfile.txt", "r");
if ($handle) {
for ($i = 0; $i < $index; $i++) {
$buffer = fgets($handle, 4096));
if ($buffer === false) {
die('Строка с таким номером отсутствует в файле');
}
}
fclose($handle);
echo "Строка $i: $buffer";
}
Но я бы, на вашем месте, подумал о переносе контента из файла в БД. Это вам даст возможность гораздо более гибко, быстро и предсказуемо оперировать строками.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Как можно отсортировать ActiveRecord по полю date, что бы отсортировать от самых близких датКак в этом запросе, но неподходящие записи выводить в конец...
Иногда в csv файле у описаний полей, и/или у данных, может быть 1 лишний разделитель (в нашем случае ;)
Не являюсь знатоком РНР, но появилась нужда кое-что делать\ asterisk под управлением freepbx записывает разговоры