Работа с папками в php. Введение
Совсем недавно я писал статью о том, как можно как работать с файлами в php. Немного подумав, я решил добавить еще и несколько небольших кусочков кода, которые покажут работу с папками. Как и в статье о работе с файлами, эта статья тоже будет дополняться со временем.
Работа с папками в php. Создание
// создать папку $folder = '/new_folder'; // путь и имя новой папки $result = mkdir($folder); // создание папки if($result){ echo "Папка создана"; }else{ echo "Папка НЕ создана"; }
Работа с папками в php. Удаление
Обратите внимание, что таким образом можно удалить, только пустую папку
// удалить папку $folder = '/new_folder'; // путь до папки $result = rmdir($path . $folder); // удаление папки if($result){ echo "Папка удалена"; }else{ echo "Папка НЕ удалена"; }
Для удаления папки, со всеми содержащимися внутри нее файлами, можно использовать следующий код, который основан на работе рекурсивной функции:
// удаление папки со всеми вложенными файлами и подпапками $folder = '/new_folder'; // имя новой папки remove_folder($folder); // удаление // рекурсивная функция function remove_folder($folder) { // получаем все файлы из папки if ($files = glob($folder . "/*")) { // удаляем по одному foreach($files as $file) { if(is_dir($file)){ // если попалась папка, то удаляем ее remove_folder($file); }else{ // если попался файл unlink($file); } } } // удаляем пустую папку rmdir($folder); }
Работа с папками в php. Назначение прав
Задать права на папку можно, сразу при ее создании, следующим образом:
$folder = '/new_folder'; // путь и имя новой папки mkdir($folder, 0777); // создание папки, где 0777 - права
Или же, можно задать права на ранее созданную папку:
$folder = '/new_folder'; chmod($folder, 0777);
На этом пока все.
А зачем в куске про rmdir стоит $path приконкатенированный?