Удаление строки из файла с помощью php
Введение
В этой статье я хочу показать, как можно с помощью php написать удаление строки из файла по ее номеру. Поскольку задача сама по себе не сложная, на ее примере я хочу еще показать, как в php можно выводить ошибки в пользовательских функциях.
Для вывода ошибок удобно использовать функцию trigger_error, она служит для вызова пользовательских ошибок, предупреждений или уведомлений.
Функция реализующая удаление строки из файла
Ниже приведу код функции, которая удаляет строку из файла по номеру. Код подробно прокомментирован:
/**
* Функция для удаления строки из файла
*
* @param string $fileName - расположение файла
* @param string $num - номер строки, которую нужно удалить
*/
function delStringByNum($fileName, $num){
// Открываем файл
$file = @file($fileName);
// если файл не найден, выводим ошибку
if(!$file){
trigger_error("File '$fileName' not found!");
return false;
}
// если номер строки не корректный, сообщим об этом
if(!isset($file[$num-1])){
trigger_error("Incorrect number string: ($num)");
return false;
}
// удаляем строку
$num = intval($num)-1;
unset($file[$num]);
// открываем файл для записи
$fileOpen = @fopen($fileName,"w");
// если файл невозможно редактировать, сообщаем об этом
if(!$file){
trigger_error("File '$fileName' is not writable!");
return false;
}
// перезаписываем файл
fputs($fileOpen,implode("",$file));
fclose($fileOpen);
return true;
}
И приведу пример использования нашей функции:
// пример использования функции
$result = delStringByNum('/files/test.txt', 3);
var_dump($result);
Комментарии:
Нету комментариев для вывода...