[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Создание структуры
McLotos
Доброе утро! Вожусь с созданием установки сайта, детали далее =)
Имеется скриптик, он сначала проверяет существование каталога, патом полностью его чистит, далее удаляет его, и создаёт по новой, пока пустой, каталог (планируется что этот же скрипт будет создавать все файлы внутри каждого каталога).
Только я вот теперь стою перед делемой. У меня несколько каталогов, 2 в корне, остальные внутри них, как лучше построить конструкцию, использовать Case или массив, чтобы задать несколько каталогов и несколько файлов с указанием их местоположения?
Вот код
<?phpheader('Content-Type: text/html; charset=utf-8');
$host=$_SERVER['DOCUMENT_ROOT'];
//удаляем корневые каталоги при помощи заранее созданной функции.
// т.к. в php нельзя удалять не пустую папку,
//функция сначала вычищает всё содержимое каталога

function deldir($fileremove)
//проверяем существование
{if (file_exists($fileremove))
//устанавливаем полный доступ
{chmod($fileremove,0777);
//если каталог
if (is_dir($fileremove))
//открываем
{$handle = opendir($fileremove);
//читаем содержимое
while($filename = readdir($handle))
if ($filename != "." && $filename != "..")
//вызываем функцию внутри каталога
{dd($fileremove."/".$filename);}
//закрываем директорию
closedir($handle);
//удаляем директорию
rmdir($fileremove);
//выводим пользователю сообщение об успешном выполнении
echo '<font color=green>Старая директория удалена </font><br>';}
else
//если это не каталог, то всё-равно удаляем
{unlink($fileremove);
echo '<font color=green>Переданный параметр оказался не каталогом. Этот файл удалён</font><br>';}
}
}

//указываем какую директорию нужно пересоздать
$dir = $host."/system";
//пропускаем её через функцию
if (file_exists($dir)) {deldir($dir);}
//снова создаём её
if(is_dir($dir))
{echo '<font color=yellow>Директория</font>
<b>'
.$dir.'</b>
<font color=yellow>уже существует</font><br>'
;}
else
{mkdir($dir, 0644);
if(is_dir($dir))
{echo '<font color=green>Директория</font>
<b>'
.$dir.'</b>
<font color=green> успешно создана</font><br>'
;}
else
{echo 'Ошибка создания директории '.$dir.'<br>';}
}


Теперь такой вопрос, чтобы не повторять этот фрагмент кода, как можно сделать?
Т.е. должна получится примерно такая структура
$dir = $host."/system";
$dir = $host."/system/core";
$dir = $host."/system/js";
$dir = $host."/system/errors";
$dir = $host."/system/langs";
$dir = $host."/system/includes";
$dir = $host."/data";
$dir = $host."/templates";
$dir = $host."/templates/Manfred";
$dir = $host."/templates/Manfred/img";
$dir = $host."/templates/Manfred/js";
$dir = $host."/templates/Manfred/css";
$dir = $host."/templates/Manfred/tpl";
$dir = $host."/templates/Sid";
$dir = $host."/templates/Sid/img";
$dir = $host."/templates/Sid/js";
$dir = $host."/templates/Sid/css";
$dir = $host."/templates/Sid/tpl";

Загнать их в case без break? Или сделать массив и циклом всех перебрать из массива?

_____________
программирование - инструмент для решения конкретных задач, любая попытка спроектировать что-то универсальное приведет к провалу.©paul85
В любом случае тебе прийдётся пройти путь изобретения велосипеда, который прошли другие, только причиной твоего изобретения будет непонимание принципов работы велосипеда изобретённого другими людьми.©SlavaFr
jQuery это попытка использовать АН-225 для перевозки зубочистки
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.