Проблем с код за визуализиране на папки

nom3r1

Registered
Опитвам се да визуализирам папките в /public_html с този код също така искам примерно да скрия някой папки.

А имам следния проблем с кода:
Warning: Invalid argument supplied for foreach() in /home/blah/public_html/index.php on line 11

Ред 11:
Код:
foreach ($files as $current) {

Код:
<?php 
$path = './'; 
if($papka = opendir($path)) { 
while(FALSE != ($file = readdir($papka))) { 
if(is_dir($path."\\".$file) && $file !="." && $file !="..") { 
$files[] = $file; 
} 
} 
closedir($papka); 
} 
foreach ($files as $current) { 
      echo '<tr class="paths">
          	<td width="9"><img src="ico.PNG" width="18" height="16" /></td>
            <td width="393"><a href="'.$current.'">'.$current.'</a></td>
            <td> -</td>
            <td align="center"> -</td>
          </tr>';
} 
?>
 
Нищо не изкарва. А като махна масива $files ми изкарва бяла страница. На Windows по-принцип работи без проблеми, но под Linux не изкарва папките. :idea:
 
А правата на файловете в тая директория какви са?
Дай на цялата папка 777 за проба.
 
nom3r1 каза:
Нищо не изкарва. А като махна масива $files ми изкарва бяла страница. На Windows по-принцип работи без проблеми, но под Linux не изкарва папките. :idea:

Това идва от различния начин на представяне на пътя до папката, lили от правата за достъп!Пробвай като зададеш пълния път до папката, без наклонена черта:
$path = 'directory/files';
или ползвай :
DIRECTORY_SEPARATOR
 
Опитах с целия път - нищо и да директорията е с пълни права.

Когато оставя реда така:


foreach ($current) {

Грешката е:

Parse error: syntax error, unexpected ')' in /home/blah/public_html/index.php on line 11

Кода в момента е така, няма грешки но не изкарва директориите:
Код:
<?php 
$path = '/home/blah/public_html/'; 
if($papka = opendir($path)) { 
while(FALSE != ($file = readdir($papka))) 
{ 
if(is_dir($path."\\".$file) && $file !="." && $file !="..") 
{ 
$files[] = $file; 
} 
} 
closedir($papka); 
} 
if(is_array($files)) {
foreach ($files as $current){ 
      echo '<tr class="paths">
          	<td width="9"><img src="ico.PNG" width="18" height="16" /></td>
            <td width="393"><a href="'.$current.'">'.$current.'</a></td>
            <td> -</td>
            <td align="center"> -</td>
          </tr>';
} 
}
?>
 
След малко игра имам напредък. В момента изкарва резултатите с всички файлове и директории, но не ми върши работа. :lol:
Код:
<?php 
$path = './'; 
if($papka = opendir($path)) { 
	while(false !== ($file = readdir($papka))) { 
		if($file !="." && $file !="..") { 
			$files[] = $file; 
		}
} 
if(is_array($files)) {
foreach ($files as $current){ 
      echo '<tr class="paths">
          	<td width="9"><img src="ico.PNG" width="18" height="16" /></td>
            <td width="393"><a href="'.$current.'">'.$current.'</a></td>
            <td> -</td>
            <td align="center"> -</td>
          </tr>';
} 
}
closedir($papka); 
}
?>
 

Back
Горе