wp_mkdir_p()
Рекурсивно создает директорию (папку) по указанному пути. Ничего не делает если папка уже есть. Дает права родителей новым папкам.
Это обертка для базовой php функции mkdir().
- Функция очищает переданный путь, убирая в нем возможное двойные слэши //.
- Сохраняет протокол, например
file://
. - Создаваемые папки наследуют права родителей.
- Путь не может содержать
../
- в этом случае каталог не будет создан.
Смотрите также: WP_Filesystem_Direct{}.
1 раз — 0.0002389 сек (быстро) | 50000 раз — 0.16 сек (очень быстро) | PHP 7.3.3, WP 5.2.3
Хуков нет.
Возвращает
true|false
. Была ли создана указанная директория. true также будет возвращено, если папка уже существует.
Использование
wp_mkdir_p( $target );
- $target(строка) (обязательный)
- Полный путь до директории которую нужно создать.
Примеры
#1 Демонстрация работы функции
Предположим нам нужно создать директорию в каталоге uploads
if ( wp_mkdir_p('a/really/deep/sub/directory') ){ echo 'Каталог создан!'; }
#2 Создание каталога внутри /uploads
Этот пример показывает как создать новую папку в каталоге /uploads, во время активации плагина. Может быть полезно, когда у плагина есть функции импорта файлов или возможность загружать файлы и вы хотите сохранять все файлы в определенную папку.
function myplugin_activate() { $upload = wp_upload_dir(); $upload_dir = $upload['basedir']; $upload_dir = $upload_dir . '/mypluginfiles'; if ( ! wp_mkdir_p( $upload_dir ) ){ echo "Не удалось создать каталог mypluginfiles"; } } register_activation_hook( __FILE__, 'myplugin_activate' );
Список изменений
С версии 2.0.1 | Введена. |