Имеется скриптик, он сначала проверяет существование каталога, патом полностью его чистит, далее удаляет его, и создаёт по новой, пока пустой, каталог (планируется что этот же скрипт будет создавать все файлы внутри каждого каталога).
Только я вот теперь стою перед делемой. У меня несколько каталогов, 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 для перевозки зубочистки