Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   PHP, PERL, MySQL, JavaScript (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   readdir (https://forum.antichat.xyz/showthread.php?t=100228)

barnaki 08.01.2009 20:55

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);


?>


barnaki 08.01.2009 21:07

у меня в книге написанно цитата :
chdir ("./js"); // переход в подкаталог текущего каталога . это ошибка ?

astrologer 08.01.2009 21:08

PHP код:

if ($file != '.' || $file != '..' )
  
Тут должно быть && 


Kaimi 08.01.2009 21:10

readdir к файлам это жестоко, а что хочешь получить в итоге?

astrologer 08.01.2009 21:15

Цитата:

Сообщение от Kaimi
readdir к файлам это жестоко, а что хочешь получить в итоге?

И правда :)

barnaki 08.01.2009 21:19

там короче папка в которой папки в книгами. папки там c++ или html называются . вот в этот скрипт прихожу где то из ../php/show_books.php
я хочу чтобы оно входило не только в тот каталог но еще и в попкаталоги. и выводило список файлов из тех папок который выводит первый readdir

barnaki 08.01.2009 21:24

я написал так но все пишет :
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

Солнышко, потому что иначе это шелл, просто шелл, что практически равно взлом, особенно если у тебя виртуальный невыделенный хостинг

barnaki 08.01.2009 22:15

так а что можно сделать ? как это обойти ?

Pashkela 08.01.2009 22:20

Цитата:

закоментить все с if то все нормально считает
чем не устраивает??


Время: 13:19