Работа с папками в 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 приконкатенированный?