Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Удаление и редактирование строчек в файлах

2.2K
11 апреля 2006 года
fogg
114 / / 21.02.2006
Как удалить(и редактировать) строчку в файле не занося весь файл не переписуя его заново?....
7.7K
11 апреля 2006 года
realcoding
52 / / 09.02.2006
Цитата:
Originally posted by fogg
Как удалить(и редактировать) строчку в файле не занося весь файл не переписуя его заново?....



Никак:(

2.2K
11 апреля 2006 года
fogg
114 / / 21.02.2006
Цитата:
Originally posted by realcoding
Никак:(


Ты уверен?....Лан, а если переписуя?..

352
11 апреля 2006 года
skywalker
694 / / 10.02.2006
Цитата:
Originally posted by fogg
Ты уверен?....Лан, а если переписуя?..


Скрипт (да и любая программа), после редактирования перезаписывают весь файл.

8
11 апреля 2006 года
mfender
3.5K / / 15.06.2005
Цитата:
Originally posted by fogg
Как удалить(и редактировать) строчку в файле не занося весь файл не переписуя его заново?....


Текстовые файлы можно читать построчно, не записывая их в память: открываешь и двигаешь курсор по строкам вниз, читаешь каждую строку, находишь нужную и удаляешь(редактируешь) её.
В разных языках для этого созданы разные процедуры.

2.2K
11 апреля 2006 года
fogg
114 / / 21.02.2006
Цитата:
Originally posted by mfender
Текстовые файлы можно читать построчно, не записывая их в память: открываешь и двигаешь курсор по строкам вниз, читаешь каждую строку, находишь нужную и удаляешь(редактируешь) её.
В разных языках для этого созданы разные процедуры.


Мож плис привести примерчик!!!:P

253
15 апреля 2006 года
Proger_XP
1.5K / / 07.08.2004
Цитата:
Originally posted by fogg
Мож плис привести примерчик


Без перезаписывания юзай 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);

Не забудь проверки

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог