Создание файлов и папок рекурсивно
17555 просмотра
3 ответа
Я получил массив, содержащий пути и имена файлов
['css/demo/main.css', 'home.css', 'admin/main.css','account']
Я хочу создать эти файлы и папки, если они еще не существуют. Перезапишите их, если они уже существуют.
Автор: angry kiwi Источник Размещён: 13.11.2019 11:38Ответы (3)
23 плюса
Для каждого из этих путей вам нужно будет указать, является ли это файл или каталог. Или вы можете заставить свой сценарий предполагать, что путь указывает на файл, когда базовое имя (последняя часть пути) содержит точку.
Создать каталог рекурсивно просто:
mkdir(dirname($path), 0755, true); // $path is a file
mkdir($path, 0755, true); // $path is a directory
0755
это выражение разрешения файла, вы можете прочитать об этом здесь: http://ch.php.net/manual/en/function.chmod.php
1 плюс
<?php
function mkpath($path)
{
if(@mkdir($path) or file_exists($path)) return true;
return (mkpath(dirname($path)) and mkdir($path));
}
?>
Это делает пути рекурсивными.
Автор: spraff Размещён: 11.07.2011 01:301 плюс
Я только что использовал простой способ взорвать строку и перестроить и проверить, является ли файл или каталог
public function mkdirRecursive($path) {
$str = explode(DIRECTORY_SEPARATOR, $path);
$dir = '';
foreach ($str as $part) {
$dir .= DIRECTORY_SEPARATOR. $part ;
if (!is_dir($dir) && strlen($dir) > 0 && strpos($dir, ".") == false) {
mkdir($dir , 655);
}elseif(!file_exists($dir) && strpos($dir, ".") !== false){
touch($dir);
}
}
}
Автор: Rodrigo Manara
Размещён: 22.09.2017 10:09
Вопросы из категории :
- php Как вы отлаживаете PHP-скрипты?
- php Заставьте XAMPP / Apache обслуживать файл вне htdocs
- php Как включить файлы PHP, которые требуют абсолютного пути?
- php Скрипт входа со скрытыми кнопками
- php How can I find unused functions in a PHP project
- php Эффективное изменение размера JPEG изображения в PHP
- php MySQL или PDO - каковы плюсы и минусы?
- php Как бы вы внедрили аутентификацию на основе FORM без резервной базы данных?
- php Самый простой способ профилировать скрипт PHP
- php Изображения в PHP
- php PHP эквивалент .NET / Java toString ()
- php В чем разница между | и || или операторы?
- php Пул соединений в PHP
- php PHP выполнить фоновый процесс
- php htmlentities () против htmlspecialchars ()
- php Генерирование (псевдо) случайных буквенно-цифровых строк
- php Какой лучший способ получить дробную часть числа с плавающей точкой в ??PHP?
- php Как реализовать кеш HTML для сайта PHP?
- php Как я могу предотвратить SQL-инъекцию в PHP?
- php PHP: Как расширить / сжать Tinyurls