2013-07-06 3 views
0

Мой код проходит через каталог и отображает все файлы и папки, в которых у меня есть файл index.php, который я не хочу отображать.как скрыть файл от readdir() php

<?php 

    $directory = 'jocuri'; 
    $row = 0; 

    if ($handle = opendir($directory.'/')) 
    { 
     echo '<table border="1">';  
     while ($cat = readdir($handle)) 
     { 
      if ($cat != '.' && $cat != '..') 
      { 
       if($row==0) echo '<tr>'; 

       echo '<td align="center">'; 
       echo ' <a href="'.$directory.'/'.$cat.'" style="text-decoration:none">'; 
       echo ' <img src="'.$directory.'/'.$cat.'/image.php" style="display:block" />'.str_replace('_', ' ', $cat); 
       echo ' </a>'; 
       echo '</td>'; 

       if($row == 2) 
       { 
        echo '</tr>'; 
        $row = -1; 
       } 
       $row++; 
      } 
     } 
     echo '</table>'; 
    } 
?> 

Как я могу это достичь?

+0

Какой тип файла вы не хотите использовать? –

+0

файл, который я хочу скрыть, - index.php –

ответ

1

Оставаясь быстро и грязно:

if ($cat != '.'&&$cat != '..' && $cat != 'index.php'){ ... } 

Но я определенно перейти к некоторым более последовательным способом, как FilesystemIterator или glob().

+0

Перевести пожалуйста, как это работает –

+0

@AndreiClaudiu, как это работает? ^^ – moonwave99

+0

Я вижу из вашего тега img $ cat/image.php вам нужны только подкаталоги. Поэтому вы должны проверить с помощью функции is_dir, если у вас есть subdir. Таким образом, вы не получите index.php. Но предложение moonwave99 посмотреть в glob(), вероятно, лучше. См. [Здесь] (http://nl3.php.net/glob) и [здесь] (http://stackoverflow.com/questions/3713588/how-do-i-exclude-non-folders-files-from- это-READDIR-функция? RQ = 1). – Rik

0
while($cat = readdir($handle)) { 
    if (in_array($cat, array('.', '..', 'index.php'))) 
    continue; 

    // display the file here 
}