|
|
|
| Здравствуйте,
подскажите пожалуйста как создавать дерево папок.
mkdir() - создает одну папку.
Есть строка "/path/to/my/dir", вот нужно создать эту иерархию папок и в последнюю записать файл. Проблем с записью нет, а вот как создать папки одну в другой в зависимости от даной строки ("/path/to/my/dir"), не понимаю. | |
|
|
|
|
|
|
|
для: volodumir
(18.06.2012 в 18:13)
| | Создаете папки циклом, сперва первую, потом вторую и т.д.
По принципу, создали папку, установили для нее права, переходите к следующей (вложенной в неё папке)...
Что то типа:
<?php
$arr = explode('/', $path);
foreach($arr as $key => $val){
// Создаем папку и устанавливаем права
}
|
| |
|
|
|
|
|
|
|
для: Tamplier
(18.06.2012 в 18:34)
| | Как пояснить скрипту что папку нужно создать в предыдуще созданной директории? | |
|
|
|
|
|
|
|
для: volodumir
(18.06.2012 в 19:03)
| | Элементарно, путь для создания директории пишется от корня сервера.
<?php
mkdir("/home/www/test/", 0700);
// цикл
mkdir("/home/www/test/papka2/", 0700);
|
| |
|
|
|
|
|
|
|
для: Tamplier
(18.06.2012 в 19:13)
| | То что от корня и так понятно, explode дает мне массив папок, как мне определить адрес папки которую создали предыдущей и в которой создать нужно следущую? | |
|
|
|
|
|
|
|
для: volodumir
(18.06.2012 в 19:34)
| |
<?php
$arr = explode('/', $path);
$curr=array();
foreach($arr as $key => $val){
$curr[]=$val;
mkdir("/home/www/".implode('/',$curr)."/", 0700);
}
|
| |
|
|
|
|
|
|
|
для: speedsoft
(18.06.2012 в 19:42)
| | Спасибо | |
|
|
|
|
|
|
|
для: speedsoft
(18.06.2012 в 19:42)
| | Проверка на пустое имя директории не помешает...
<?php
$arr = explode('/', $path);
$curr=array();
foreach($arr as $key => $val){ if(!empty($val)){
$curr[]=$val;
mkdir("/home/www/".implode('/',$curr)."/", 0700);
}}
|
| |
|
|
|
|
|
|
|
для: Tamplier
(18.06.2012 в 19:59)
| | Спасибо | |
|
|
|