Удаление строки из файла с помощью 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);
Теги:
строка
Добавлено: 10 Мая 2018 14:56:46 Добавил: Андрей Ковальчук Нравится 0
Добавить
Комментарии:
Нету комментариев для вывода...