English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Два метода создания многоуровневых папок в PHP

Для создания каталогов в PHP есть专门ная функция mkdir(): успешен - возвращает true, неудачен - возвращает false

Функция mkdir имеет четыре параметра:

path: имя создаваемого каталога

mode: права доступа. По умолчанию 0777 (максимальные права)

recursive: настройка создания многоуровневых каталогов (true: можно, false: нельзя)

context: среда файла. Context - это набор опций для изменения поведения потоков (редко используется)

Ниже я介绍一下 два способа создания многоуровневых каталогов в php, подробности см. ниже:

1. Использование идеи рекурсии

function mkdirs_2($path){
if(!is_dir($path)){
mkdirs_2(dirname($path));
if(!mkdir($path, 0777)){
return false;
}
}
return true;
}
/* http://www.manongjc.com/article/1331.html */
$path2 = 'sdfs/sds/sds/s/s/sss';
var_dump(mkdirs_2($path2)); //true;

1. Основная идея заключается в использовании рекурсии, сначала создаем dir, затем dir/css, и так далее...

2. Рекурсия - это процесс загрузки в стек, поэтому сначала загрузим dir/css/js/php/ok, и он будет выгружен в последнюю очередь... больше не будем говорить о других.

3. dirname(path) возвращает значение, исключая последний каталог в path, то есть в первый раз возвращает: dir/css/js/php,,, во второй раз возвращает dir/css/js,,, в последний раз ./

2. Использование mkdir() для создания, третий параметр должен быть true, чтобы автоматически создавать многоуровневые папки

функция mkdirs_1($path, $mode = 0777){
if(is_dir($path)){
возврат 'не удалось создать, уже есть папка';
}
if(mkdir($path, $mode, true)) {
возврат 'успешно создан';
}
возврат 'не удалось создать, уже есть папка';
}
}
}
/* http://www.manongjc.com/article/1332.html */
$path1 = 'a/b/c/d/e';
var_dump(mkdirs_1($path1)); // строка 'успешно создан' (длина=12)

Указанные выше методы создания многоуровневых папок с помощью PHP, представленные редактором给大家, hopefully will be helpful to everyone. If you have any questions, please leave a message, and the editor will reply to everyone in a timely manner. In addition, I would also like to express my sincere gratitude to everyone for supporting the Yana tutorial website!

Декларация: содержимое статьи взято из интернета, авторские права принадлежат авторам, материалы предоставлены пользователями интернета, сайт не имеет права собственности, не был редактирован вручную, и не несет ответственности за связанные с этим юридические последствия. Если вы обнаружите подозрительное содержимое о нарушении авторских прав, пожалуйста, отправьте письмо по адресу: notice#oldtoolbag.com (во время отправки письма замените # на @) для отчета,并提供 соответствующие доказательства. Если обнаружено, сайт немедленно удаляет涉嫌侵权的内容。

Вам может понравиться