Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> создание дерава папок, помогите с реализацией 
:(
    Опции темы
Kirill89
Дата 3.7.2009, 14:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 501
Регистрация: 17.10.2006
Где: Питер

Репутация: нет
Всего: 4



Доброе время суток.
Помогите с реализайией, задача такая - нужна функция, которая получает параметром $path
например '/testfilder1/testfolder2/testfolder3/index.php'
и создаёт все папки которые отсутствуют и этот файл.


--------------------
PM MAIL WWW   Вверх
lelik133
Дата 3.7.2009, 15:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Awaiting Authorisation
Сообщений: 517
Регистрация: 5.2.2003
Где: Москва

Репутация: 5
Всего: 14



1. разбиваете строку explode по / в массив
2. проходитесь по массиву (кроме последнего элемента) и проверяете для каждого элемента есть ли такая папка, если нет создаете
3. для последнего элемента тоже самое, только проверяется существование файла

PM ICQ   Вверх
Kirill89
Дата 3.7.2009, 15:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 501
Регистрация: 17.10.2006
Где: Питер

Репутация: нет
Всего: 4



создаёт просто кучу папок в корне...
Код

$dir = explode('/',$path);
for($i=1,$j=count($dir);$i<$j-1;$i++)if(!file_exists($path))mkdir($dir[$i],0777);



--------------------
PM MAIL WWW   Вверх
lelik133
Дата 3.7.2009, 16:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Awaiting Authorisation
Сообщений: 517
Регистрация: 5.2.2003
Где: Москва

Репутация: 5
Всего: 14



когда перемещаетсеь на уровень глубже это надо учитывать в file_exists и mkdir соответственно. Т.е. проверять testfilder1, testfilder1/testfolder2 и т.д.

PM ICQ   Вверх
Photon
Дата 6.7.2009, 14:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Злобный программер
**


Профиль
Группа: Участник
Сообщений: 282
Регистрация: 27.2.2009
Где: Таганрог

Репутация: 10
Всего: 12



Зачем такие сложности?

Код

    $path = '/Upload/Files/Test/3.txt';
    $path_arr = explode('/', $path);
    $dir = $_SERVER['DOCUMENT_ROOT'].substr($path, 1, strlen($path) - strlen($path_arr[count($path_arr) - 1]) - 1);
    @mkdir($dir);
    if (!file_exists($dir."/".$path_arr[count($path_arr) - 1])) {
     $fp = fopen($dir."/".$path_arr[count($path_arr) - 1], "a");
     fclose($fp);
    }


Только надо проконтролировать, что находится в $_SERVER['DOCUMENT_ROOT']. На моем хостинге в конце нет слэша, на других хостингах есть..


--------------------
With best regards..
PM MAIL ICQ Skype GTalk Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0962 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.