ITSpecialNSK
Новичок
Здравствуйте всем, мастерам, специалистам и начинающим программистов. У меня есть начальный код для создания файлового менеджера на php. Я не буду писать здесь - помоги написать полный и тяжелый скрипт, ещё бы сказал подарите мне сразу мозги)))). Так вот, что у меня за вопрос - вот сам скрипт, в нем работает, просмотр текущего каталога по каталогам и файлам. Допустим я создал две папки - первая folder1 и в ней folder2. Проблема в том, что при клике я могу зайти в текущий каталог ./folder1, но во второй каталог ./folder1/folder2 я не могу зайти - , так как не прописывается реальный путь, а такой ./folder2 - но такого пути ведь нет, и так понятно, хотя если прописываю вручную в адресной строке браузера, то переходит в нужный каталог. Чувствую, что ответ рядом, но занимаюсь php очень мало. Есть работающий скрипт, но он работает через register_globals - on и без указаний глобальный массивов.
PHP:
<?php
$_GET["tochka"] = '.';
//если не точки, то определяем её, что бы видеть, где мы находимся
if(!isset($_GET["dir"])){
$_GET["dir"] = $_GET["tochka"];
}
//открываем каталог
$od = opendir($_GET["dir"]);
//читаем каталог
while($file = readdir($od)){
//проверяем если каталог и пропускаем точку и две точки
if(is_dir($_GET["dir"]."/".$file) && $file!="." && $file!=".."){
//создаем массив
$dirs[]=$file;
}
//проверяем если ли файл
if(is_file($_GET["dir"]."/".$file)){
//создаем массив
$files[]=$file;
}
}
//закрываем каталог
closedir($od);
//вывод результата
print '<h2>'.$_GET["dir"].'</h2>';
//стабильный переход на каталог вверх - начало
if($_GET["dir"]!=$_GET["tochka"]){
$poslslash=strrpos($_GET["dir"],"/");
$newdir=substr($_GET["dir"],0,$poslslash);
print "<a href='?dir=".$newdir."'><<НАВЕРХ</a>";
}
//стабильный переход на каталог вверх - конец
$total = '<div id='.'data-wrapper'.'>';
//проверка, если есть массив каталогов, то сортировка и вывод
if(isset($dirs)){
//сорировка
sort($dirs);
//вывод массива каталогов
foreach ($dirs as $k => $v){
$total .= "<a href='?dir=".$_GET["tochka"]."/".$dirs[$k]."'>".$dirs[$k].'</a>'.'<br />';
}
}
//проверка, если есть массив файлов, то сортировка и вывод
if(isset($files)){
//сортировка
sort($files);
//вывод массива файлов
foreach ($files as $k => $v){
$total .= $files[$k].filesize($_GET["dir"]."/".$files[$k]);
}
}
$total .= '</div>';
//вывод общего результата
echo $total;
//проверка данных в GET массиве, для тестирования
$vv = 'vv7777';
$_GET['vv'] = $vv;
echo '<div id='.'get_data'.'>';
echo 'Вывод GET'.'a';
echo '<pre>';
print_r ($_GET);
echo '</pre>';
echo '<div>';
?>
Последнее редактирование модератором: