Сокращаем код: автогенерация вложенных папок

Автор: admin 15 May 2016 Отзывы Ваш отзыв

Для чего: дабы не проверять наличие каждой ниже-лежащей папки. Еще проще - тот кто уже отошел от файлосвалки фоток и видео файлов в одной папке upload - наверняка пригодится функция генерирующая подпапки пути заданного как аргумент функции:

function check_path($params){
$path = $params['path'];
if(!$params['folders']){$params['folders']=1;}
$params['folders']++;
#check
$parts = explode(’/',strrev($path),2);
if(stristr($parts[0],’.') || (isset($parts[0]) && !$parts[0])){
$params['folders']++;
}
#explode
$parts = explode(’/',strrev($path),$params['folders']);
if(stristr($parts[0],’.') || (isset($parts[0]) && !$parts[0])){
unset($parts[0]);
}
$parts = array_reverse($parts);
foreach($parts as $k=>$part){
if(!$_path){
$_path = strrev($part) . ‘/’;
continue;
}
$_path .= strrev($part) . ‘/’;
if(!is_dir($_path)){umask(0);mkdir($_path, 0777);exec(”chmod 777 ” . $_path);}
}
return $params['path'];
}

По умолчанию функция проверяет и создает 2 папки заданного пути, но уровень вложенности может быть указан в массиве аргументов.
Использование:

$to = check_path(array(’path’=>BASEPATH . $filename));

И можно больше не парится в хитросплетениях серверных путей и городить кучу проверок и созданий подпапок. Права прописываются на вкус и цвет - например 755

Рубрика: Programming

Ссылка на заметку:

Отзывов нет

Комментариев пока нет.

Оставьте свой отзыв

Имя Сообщение
E-mail (обязательно)
Введите 2 + 3 =