Удаление и редактирование строчек в файлах
Как удалить(и редактировать) строчку в файле не занося весь файл не переписуя его заново?....
Никак:(
Никак:(
Ты уверен?....Лан, а если переписуя?..
Ты уверен?....Лан, а если переписуя?..
Скрипт (да и любая программа), после редактирования перезаписывают весь файл.
Как удалить(и редактировать) строчку в файле не занося весь файл не переписуя его заново?....
Текстовые файлы можно читать построчно, не записывая их в память: открываешь и двигаешь курсор по строкам вниз, читаешь каждую строку, находишь нужную и удаляешь(редактируешь) её.
В разных языках для этого созданы разные процедуры.
Текстовые файлы можно читать построчно, не записывая их в память: открываешь и двигаешь курсор по строкам вниз, читаешь каждую строку, находишь нужную и удаляешь(редактируешь) её.
В разных языках для этого созданы разные процедуры.
Мож плис привести примерчик!!!:P
Мож плис привести примерчик
Без перезаписывания юзай fseek()
Например:
$fh = fopen("file.tmp", "r+");
fseek($fh, 1024);
fwrite($fh, "Some string");
fclose($fh);
Либо юзай file()
$ff = file("file.dat");
foreach ($ff as $k => $v) {
// Проверяешь, нужна ли тебе эта строчка или идешь дальше
if (...) {
// Изменяешь строку
$str = "Other text";
$ff[$k] = $str;
}}
$fh = fopen("file.dat", "w");
foreach ($ff as $v) {
fwrite($fh, trim($v)."\r\n");
}
fclose($fh);
Не забудь проверки