Unlink php — удаление файлов. Удаление каталога с файлами в PHP Php удалить файл на сервере

В предыдущей статье мы с Вами разбирали , и там я познакомил Вас с функцией rmdir() , которая удаляет каталог. Однако, я сказал, что таким способом получится удалить только пустую директорию, а вот как удалить каталог с файлами , Вы узнаете сейчас.

Принцип очень простой: чтобы удалить каталог с файлами , надо удалить сначала все файлы, а также все подкаталоги. Внутри подкаталогов могут быть также файлы и другие подкаталоги, их также надо очистить. В общем, сложность состоит в том, что глубина каталогов может быть очень большой. И очевидно, что напрашивается рекурсия - вызов функции внутри самой себя.

Несмотря на кажущуюся сложность алгоритма, реализация очень простая и прозрачная:

function removeDirectory($dir) {
if ($objs = glob($dir."/*")) {
foreach($objs as $obj) {
is_dir($obj) ? removeDirectory($obj) : unlink($obj);
}
}
rmdir($dir);
}
?>

Постараюсь объяснить понятным языком алгоритм работы данной функции. Первым делом мы получаем список всех файлов внутри заданной директории. Если их там нет, то сразу удаляем её. Если они есть, то начинаем по-очереди перебирать. Если элемент является файлом, то просто удаляем его (unlink($obj) ). Если же это каталог, то вызываем вновь нашу функцию, передав этот каталог. Это и есть рекурсия: функция вызывает сама себя . После вызова функцией самой себя всё начинается заново, но уже с другой директорией. У ней также удаляются все файлы, а все её директории отправляются вновь в эту функцию. Когда все директории и файлы удалены, у нас удаляется уже пустой каталог.

Я Вам скажу так, данный алгоритм не столько полезен с точки зрения практики (не так часто приходится удалять каталоги с файлами в PHP ), сколько полезен для развития Вашего мышления. Это очень простой алгоритм и решает он весьма и весьма сложную задачу. Поэтому учитесь составлять алгоритмы - это самое главное в любом языке программирования.

PHP - язык программирования, в основном используемый для создания динамических web-страниц. Равно как и любой другой язык программирования, PHP содержит массу возможностей, среди которых очень много полезных. К примеру, возможность удаления файла, которую вы можете использовать в ваших скриптах.

Этот совет поможет вам узнать, как удалить файл в PHP при помощи функции unlink .

Пошаговая инструкция:

Для удаления файла в PHP можно использовать функцию unlink . На примере простого скрипта, разберем работу unlink :

  1. Создайте текстовый файл в текстовом редакторе (vi/vim, nano, gedit или просто в стандартном Блокноте).
  2. Наберите или просто скопируйте в него следующий код: $file="example.log";
    unlink($file);
    ?>
  3. Сохраните (к примеру под именем testunlink.php) и разместите созданный файл скрипта на вашем тестовом web-сервере. В этом же каталоге создайте файл example.log с любым содержимым. Именно его мы и будем удалять.
  4. Запустите скрипт, вызвав его в браузере, и, посмотрев вновь в каталог, вы обнаружите, что файла example.log там больше нет. Unlink сделал свое дело!

Как это все работает:

Первая строка кода скрипта: определяем тип нашего скрипта.

Вторая строка кода: После запуска созданного нами скрипта, переменной file будет присвоено значение example.log (обратите внимание, что файл с одноименным названием должен присутствовать в том же каталоге, что и созданный нами скрипт. Просто создайте его с любым содержимым!).

Третья строка кода: Удаляем файл example.log, передав его в качестве аргумента функции unlink.

Четвертая строка кода скрипта: конец кода php.

Нередко, при создании программы, возникает необходимость удаления файлов (причины могут быть самыми разными) и в этом случае нам на помощь приходит unlink php. Сегодня мы научимся удалять файлы в PHP и рассмотрим несколько примеров.

Удаляем файлы при помощи unlink PHP

Для удаления файлов служит функция unlink() . Синтаксис у этой функции следующий:

unlink (имя_файла)

Данная функция является логической и поэтому в случае успешного удаления файла возвращает TRUE, а в случае неудачи – FALSE. Рассмотрим использование unlink() на примере:

Следует заметить, что при повторной загрузке данной страницы программа выдаст ошибку. Связанно это с тем, что при первом вызове функции она уже удалила файл и в следующий раз не может его обнаружить.

Существует несколько путей решения данной проблемы. Например можно использовать более сложную внутреннюю архитектуру программы, использовав условные операторы if . Или достаточно поставить символ @ перед самой функцией для игнорирования возникающих ошибок. В этом случае, даже если файл не будет обнаружен, ошибка не будет инициирована:

Удалять файлы в PHP при помощи unlink совсем не сложно, как говорится, ломать — не строить. В следующий раз мы научимся проверять состояние файлов.

Продолжаем урок, который посвящен теме «Работа с файлами PHP ». Если вы не читали предыдущий , рекомендую почитать, а те, кто читал, двигаемся дальше. В этом уроке вы научитесь удалять созданный или существующий файл с помощью PHP, копировать или переименовывать, блокировать файл.
Ну что, если вы готовы, тогда в бой…

Удаление файла на PHP

Если вам нужно удалить какой-либо файл, воспользуйтесь PHP-функцией unlink() :

Unlink(имя_файла);

Имя_файла – здесь укажите имя файла, который нужно удалить.

Припустим, нам нужно удалить файл «file.txt », пример для заполнения будет вот такой:

Unlink("file.txt");

Готовый код:

Если файл «file.txt » присутствовал, скрипт его удален.

Копирование файла на PHP

Если вам нужно из одного файла перекопировать содержимое в другой файл, воспользуйтесь PHP-функцией copy() .

Copy("файл1", "файл2");

Файл1 – имя файла откуда будет копироваться текст
- файл2 – имя файла куда будет копироваться текст

Для примера создайте на локальном сервере в папке «test-1 » файл под названием «file2.txt ». Пусть файл будет пустым. Теперь вставим этот код copy("file.txt", "file2.txt"); в php код «file.php »:

Что мы сделали? Создали через PHP файл под названием «file.txt », сделали запись в файле «file.txt » через PHP « Я рад видеть вас на блоге сайт », вывели результат в браузере, скопировали текст с файла «file.txt » и вставили в файл «file2.txt ». Не верите, что так все произошло? Вы помните, что файл «file2.txt » был пустым?! Откройте его! И что вы видите? Да, правильно, текст, который был в файле «file.txt »:

Переименование файла на PHP

Чтобы сделать переименование файла, воспользуйтесь PHP-функцией rename() :

Rename("файл1", "файл2");

Файл1 – название файла, которое нужно заменить (переименовать )
- файл2 – здесь нужно дать новое название файла

Пример для заполнения вот такой:

Rename("file2..txt");

Вот готовый код:

Файл «file2.txt » переименован в файл «сайт.txt ».

На этом, я думаю, следует закончить наш урок. Но это еще не все, в следующем уроке продолжим работу с файлами.

Загрузка...
Top