Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> problem z foreach, wyświetla o jeden wynik za dużo ?
mskiba
post
Post #1





Grupa: Zarejestrowani
Postów: 69
Pomógł: 0
Dołączył: 28.04.2013

Ostrzeżenie: (0%)
-----


Witam, jak w temacie, mam problem z pętlą foreach, poniżej skrypt.


  1. $directory = "gallery/";
  2.  
  3. $dir = opendir($directory);
  4.  
  5. $files = array();
  6. while ($files[] = readdir($dir));
  7. sort($files);
  8. closedir($dir);
  9.  
  10. foreach ($files as $file){
  11. if (($file!=".")&&($file!="..")){
  12.  
  13. $arr = pathinfo($file);
  14. $name=substr($file, 0, strrpos($file, '.'));
  15. $img = $name;
  16.  
  17. [b] echo "$img<a href = \"java script:void(0)\" onclick = \"document.getElementById('img".$img."').style.display='block';document.getElementById('przejscie').style.display='block'\"><img class=\"img_thumb\" src=".$directory.$img.".".$arr["extension"]."></a>";[/b]
  18.  
  19. echo "
  20. <div id=\"img".$img."\" class=\"biala_tresc\">
  21. <a href = \"java script:void(0)\" onclick = \"document.getElementById('img".$img."').style.display='none';document.getElementById('przejscie').style.display='none'\"><img class=\"img_full\" src=".$directory.$img.".".$arr["extension"]."></a>
  22.  
  23. <a href = \"java script:void(0)\" onclick = \"
  24. document.getElementById('img".$img."').style.display='none';
  25. document.getElementById('przejscie').style.display='none';
  26. document.getElementById('img";echo $img-1; echo"').style.display='block';
  27. document.getElementById('przejscie').style.display='block'
  28. \"><img id=\"left\" src=images/img_strzalka_left.png></a>
  29.  
  30. <a href = \"java script:void(0)\" onclick = \"
  31. document.getElementById('img".$img."').style.display='none';
  32. document.getElementById('przejscie').style.display='none';
  33. document.getElementById('img";echo $img+1; echo"').style.display='block';
  34. document.getElementById('przejscie').style.display='block'
  35. \"><img id=\"right\" src=images/img_strzalka_right.png></a>
  36.  
  37. </div>
  38. <div id=\"przejscie\" class=\"czarne_tlo\">
  39.  
  40. </div>
  41. ";
  42. }
  43. }


chodzi o pogrubioną część, w katalogu directory mam 4 pliki jpg, 1.jpg, 2.jpg, 3.jpg i 4.jpg, i chciałem je wszystkie wyświetlić. I wszystko byłoby dobrze gdyby nie to że przed tymi plikami wyświtla się jeszcze jeden plik (.) - sama kropka. Nie jest to ta linuxwowa kropka z katalogu, bo te pomija inftrukcja warynkowa, to jest kropka z tej pogrubionej lini. Tak jakby pierwsze zdjecie bylo bez wartosci zmiennej, jak to pominac?
Go to the top of the page
+Quote Post
jackraymund
post
Post #2





Grupa: Zarejestrowani
Postów: 217
Pomógł: 21
Dołączył: 10.06.2011
Skąd: Głogów

Ostrzeżenie: (0%)
-----


Mi wykrywa 1 wpis jako false
ZAWSZE UZYWAJ FUNKCJI VAR_DUMP!

czyli zrób taki warunek
  1. if (!$file){
  2.  
  3. }


Ten post edytował jackraymund 7.09.2013, 10:13:05


--------------------
Wykonuje zlecenia na pobieranie danych ze stron i różne boty.
Go to the top of the page
+Quote Post
mskiba
post
Post #3





Grupa: Zarejestrowani
Postów: 69
Pomógł: 0
Dołączył: 28.04.2013

Ostrzeżenie: (0%)
-----


Dzięki, pomogło wink.gif

Ten post edytował mskiba 7.09.2013, 19:52:01
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 09:55