Просмотр полной версии : readdir
почему если закоментить все с if то все нормально считает . а если нет то лезет в вверхний каталог .
я же пишу opendir("./$file")
<?php
$dir = opendir("../books");
while(($file = readdir($dir)) !== false )
{
echo "$file<br />";
if ($file != '.' || $file != '..' ) {
$bookdir = opendir("./$file");
while (($link = readdir($bookdir)) !== false)
{
echo "$link <br />";
}
closedir($bookdir); }
}
closedir($dir);
?>
у меня в книге написанно цитата :
chdir ("./js"); // переход в подкаталог текущего каталога . это ошибка ?
astrologer
08.01.2009, 21:08
if ($file != '.' || $file != '..' )
Тут должно быть &&
readdir к файлам это жестоко, а что хочешь получить в итоге?
astrologer
08.01.2009, 21:15
readdir к файлам это жестоко, а что хочешь получить в итоге? И правда :)
там короче папка в которой папки в книгами. папки там c++ или html называются . вот в этот скрипт прихожу где то из ../php/show_books.php
я хочу чтобы оно входило не только в тот каталог но еще и в попкаталоги. и выводило список файлов из тех папок который выводит первый readdir
я написал так но все пишет :
Warning: scandir(/html) [function.scandir]: failed to open dir: No error in C:\php_files\home\banderas\site_gosti\php\show_boo ks.php on line 38
Warning: scandir() [function.scandir]: (errno 0): No error in C:\php_files\home\banderas\site_gosti\php\show_boo ks.php on line 38
$dir = opendir("../books");
while(($file = readdir($dir)) !== false )
{
echo "$file<br />";
if ($file != '.' || $file != '..' ) {
$files = scandir($file) ;
echo "<pre>";
print_r($files);
echo "</pre>"; }
}
closedir($dir);
Pashkela
08.01.2009, 21:47
Солнышко, потому что иначе это шелл, просто шелл, что практически равно взлом, особенно если у тебя виртуальный невыделенный хостинг
так а что можно сделать ? как это обойти ?
Pashkela
08.01.2009, 22:20
закоментить все с if то все нормально считает
чем не устраивает??
так оно считает содержимое \books а там только папки а мне надо содержимое этих папок
Pashkela
08.01.2009, 22:31
http://script4u.ru/php/file/431-phpbrowser-1.0.html
вот весьма грамотная реализация, на мой взгляд, вообще, чтения и т.д.
barnaki мм? <pre><?php
$dir = "./somedir";
function recurs($dir,$tab="")
{
if(!is_dir($dir)) return;
$dirs = scandir($dir);
foreach ($dirs as $one)
{
if ($one =='.' || $one =='..') continue;
$path = realpath($dir.'/'.$one);
if (is_dir($path)) {echo $tab.'['.$one."]\r\n";recurs($path,$tab."\t");continue;}
echo "$tab$one\r\n";
}
}
recurs($dir);
?>
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot