if($_GET['Dir']){
$Dir = $_GET['Dir'];
}else{
$Dir = dirname( __FILE__ );
}
$Files = scandir($Dir);
foreach($Files as $FileName){
if($FileName != "." && $FileName != ".."){
if(is_dir($FileName)){
echo "<br>$FileName - Папка";
}else{
echo "<br>$FileName - Файл";
}
}
}
Этот код работает отлично, но когда я в get пишу другую директорию, не ту где лежит файл, он мне выдает что все что есть это папку, что за фигня? В директории где находится сам файл он нормально работает
Спустя 34 минуты, 6 секунд (23.06.2011 - 00:38) walerus написал(а):
Ошибка в том, что ты проверяешь не так, нужно полный путь указывать как бы.
вот так попробуй
define('ROOT', dirname(__FILE__).'/');
if($_GET['Dir'])
$Dir = ROOT.$_GET['Dir'].'/';
else
$Dir = ROOT;
clearstatcache(); // потому что Результаты этой (is_dir) функции кэшируются.
$Files = scandir($Dir);
foreach($Files as $FileName)
{
if($Dir.$FileName != "." && $Dir.$FileName != ".."){
if(is_dir($Dir.$FileName)){
echo "<br>$FileName - Папка\n<br>";
}else{
echo "<br>$FileName - Файл\n<br>";
}
}
}
вот так попробуй
Спустя 4 минуты, 53 секунды (23.06.2011 - 00:43) Happy! написал(а):
Вот блин, не подумал что функция не знает где файл лежит, спасибо большое, исправил))))
Спустя 12 минут, 8 секунд (23.06.2011 - 00:55) Happy! написал(а):
Кстати у вас в коде ошибка)))
Спустя 1 минута, 11 секунд (23.06.2011 - 00:56) Happy! написал(а):
Если переменная переданная через get будет от корня то фигня получется
Спустя 10 часов, 53 минуты, 8 секунд (23.06.2011 - 11:49) walerus написал(а):
Ошибки нет, просто нужно обрезать абсолютный путь, до полного пути.
абсолютный путь - что то типа "usr/local/bin" и так далее до самого скрипта.
полный путь - script/папка/папка которая нужна...
т.е. путь относительно скрипта, а не сервера, по моему так )
абсолютный путь - что то типа "usr/local/bin" и так далее до самого скрипта.
полный путь - script/папка/папка которая нужна...
т.е. путь относительно скрипта, а не сервера, по моему так )