Wyświetlenie wszystkich zdjęć z katalogu. Która metoda lepsza?

0

Która metoda jest waszym zdaniem lepsza? Może jeszcze jakieś inne rozwiązanie? Podczas wyświetlania chcę pominąć katalogi co jest raczej oczywiste :). Lepiej sprawdzać czy jest nie jest katalogiem bieżącym i katalogiem nadrzędnym. Czy lepiej wywołać funkcję is_dir() i na jej podstawie sprawdzić? Myślałam że drugie rozwiązanie jest bardziej elastyczne i działa dla każdego katalogu, byłam jednak w błędzie umieściłam katalog "myszka" w katalogu i jest on wypisywany dla obu metod. Dlaczego tak się dzieję? "Myszka" jest katalogiem funkcja is_dir() sprawdza czy coś jest katalogiem, dlaczego więc nie uważa nowo utworzonego katalogu za katalog?

if ($dir = opendir($d)) {
      while(false !==( $file = readdir($dir)) )
	  {
		if($file!='.' && $file !='..')
		{
			 echo '<img src="'.$d.'/'.$file.'" alt="obr"/>';
			 echo $file;
		 }
      } 
      closedir($dir);
   }
   
 if ($dir = opendir($d)) {
      while(false !==( $file = readdir($dir)) )
	  {
		if(!(is_dir($file)))
		{
			 echo '<img src="'.$d.'/'.$file.'" alt="obr"/>';
			 echo $file;
		 }
      } 
      closedir($dir);
   }
0

Druga metoda lepsza jeśli chcesz wyświetlić wszystkie pliki, przy czym masz w niej drobny błąd.
Mianowicie, (co zresztą wiesz patrząc po Twoim kodzie) readdir zwraca nie pełną ścieżkę, a jedynie nazwę pliku, więc przy wywołaniu is_dir musisz dodać katalog w którym plik jest, tj. is_dir($d . '/' . $file)

1 użytkowników online, w tym zalogowanych: 0, gości: 1