Исходники.Ру - Программирование
Исходники
Статьи
Книги и учебники
Скрипты
Новости RSS
Магазин программиста

Главная » Статьи Web-мастеру » PHP - Функции »

Обсудить на форуме Обсудить на форуме

PHP: удаление строки из файла

Я очень часто встречаю вопрос типа "Как удалить определенную строку из файла?". Народ совсем не хочет шевелиться, ведь так легко зайти на любой крупный форум по PHP, и в сроке поиска написать что-то типа "Удаление строк из файла". Пятерка результатов гарантирована. Итак, в первой части статьи мы как раз рассмотрим способ удаления определенной строки из текстового файла.

Для начала было бы совсем не плохо создать текстовый файл. Назовём его file.txt, который будет состоять из строк, которые мы будем удалять:

строка один
строка два
строка три
строка четыре
строка пять

Затем создаём что-нибудь типа file.php, занимающий около 11 строк!

<?
if ($id != "") {
	$id--;
	$file=file("file.txt"); 

	for($i=0;$i<sizeof($file);$i++)
		if($i==$id) unset($file[$i]); 

	$fp=fopen("file.txt","w"); 
	fputs($fp,implode("",$file)); 
	fclose($fp);
	}
?>

Сначала определимся, что для удаления определенной строки нам нужен её номер. Его мы будем передавать с идентификатором id: file.php?id=2 (удалим строку под номером ТРИ, так как исчисления элементов в массиве ведётся с нуля, но позже мы это сгладим).

  • функция file() считывает весь файл в массив (каждая строка - это его элемент);
  • $id-вычитает один из нашего идентификатора, так что 2 становится 2, а 3 - 3;
  • unset($file[$i]) удаляет или обнуляет элемент массива (но только из памяти, т. е. виртуально:);
  • implode() объединяет массив в одну строку. Это очень важно, так как если бы это опустили, наш файл бы похудел до бесполезной записи Array;

Может пригодится:


Автор: Неизвестен
Прочитано: 7568
Рейтинг:
Оценить: 1 2 3 4 5

Комментарии: (3)

Прислал: гость
эт конечно круто, но если файл не такой как у тебя, а, например, 100 мб, ты тоже будешь все в массив писать ?

Прислал: driverok
Глупая статья. я считаю

Прислал: Сергей
Я чё-т не понял, зачем удалять строку из файла? Ну открой код, возьми и удали что ли...

Добавить комментарий
Ваше имя*:
Ваш email:
URL Вашего сайта:
Ваш комментарий*:
Код безопастности*:

Рассылка новостей
Рейтинги
© 2007, Программирование Исходники.Ру