Цикл по каталогу в PHP? - PullRequest
1 голос
/ 30 марта 2011

Я пытаюсь распечатать распечатать это в html

 <a id='riverwalk' style='display:none;' href='images/riverwalk/1.jpg' rel='prettyPhoto[riverwalk]'></a>
<a style='display:none;' href='images/riverwalk/2.jpg' rel='prettyPhoto[riverwalk]'></a>
<a style='display:none;' href='images/riverwalk/3.jpg' rel='prettyPhoto[riverwalk]'></a>
<a style='display:none;' href='images/riverwalk/4.jpg' rel='prettyPhoto[riverwalk]'></a>

Но я хочу сделать это на грамматическом уровне, и это мой код ... но просто ничего не делать

$counter = 0;
$directory = "images/riverwalk"
$dir = opendir ("images/riverwalk");
while (false !== ($file = readdir($dir))) {
        if ($counter == 0) {
            echo "<a id='riverwalk' style='display:none;' href='images/riverwalk/$file' rel='prettyPhoto[riverwalk]'></a>";
        $counter++;
        }else{
         echo "<a style='display:none;' href='images/riverwalk/$file' rel='prettyPhoto[riverwalk]'></a>";
    $counter++;
}
}

делает что-нибудь непонятным для всех ... я не могу просмотреть ошибки, потому что я не могу включить ошибки php ... любые идеи

ИСПРАВЛЕНИЕ: проблема заключалась в том, что во второй строке отсутствовала точка с запятой

Ответы [ 4 ]

2 голосов
/ 30 марта 2011

Посмотрите на scandir () - гораздо проще написать и отладить ..

$counter = 0;
$dirf    = 'images/riverwalk';
$dir = scandir($dirf);
foreach($dir as $file) {
   if(($file!='..') && ($file!='.')) {
      if($counter==0)
           echo "<a id='riverwalk' style='display:none;' href='images/riverwalk/$file' rel='prettyPhoto[riverwalk]'></a>";
      else
           echo "<a style='display:none;' href='images/riverwalk/$file' rel='prettyPhoto[riverwalk]'></a>";
      $counter++;
   }
}

Если это не работает, используйте is_dir (), чтобы убедиться, что вы указываете на правильный каталог.

1 голос
/ 30 марта 2011

Возможно, вы пропустили точку с запятой (; ) во второй строке вашего PHP-кода ... Попробуйте добавить;на и линии.Этот код работает отлично!

рассмотрите эту строку:

$directory = "images/riverwalk"
1 голос
/ 30 марта 2011

Надеюсь, я не зашёл слишком далеко, сказав: это действительно работает, но вы ничего не видите, потому что ваши <a> пусты.Попробуйте это с

    if ($counter == 0) {
        echo "<a id='riverwalk' style='display:none;' href='images/riverwalk/$file' rel='prettyPhoto[riverwalk]'> blib </a>";
    $counter++;
    }else{
     echo "<a style='display:none;' href='images/riverwalk/$file' rel='prettyPhoto[riverwalk]'> blub </a>";

(добавлены 'blib' и 'blub')

Если вы все же подумали об этом (в этом случае, пожалуйста, предоставьте html исходный код в своем вопросе), скажите мне в комментарии, и я удалю этот ответ.

0 голосов
/ 16 сентября 2013

$ dir = './'; open_dir ($ реж);

функция open_dir ($ dir = null) { глобальный $ htaccesscount;

if (!empty($dir) && is_dir($dir)) {
    if ($dh = opendir($dir)) {
        while (($file = readdir($dh)) !== false) {
            if ($file != "." && $file != "..") {
                $filetype = filetype($dir . $file);

                switch ($filetype) {
                    case 'dir'          :

                        break;
                    case 'file'         :

                        break;
                }
            }
        }
        closedir($dh);
    }
}

}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...