Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Funkcja wyświetlania foto., Mógłby ktoś profesjonalnie na to spojrzeć.
Ozarys
post
Post #1





Grupa: Zarejestrowani
Postów: 24
Pomógł: 0
Dołączył: 7.07.2006
Skąd: Sosnowiec

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


Mam taki skrypt i działa ale ma dwa błędy nie wyświetla ostatniego zdjęcia tak jakby go nie było i nie chce pokazywać miniatur(czasami jakieś się pokazują albo są wszystkie takie same)nie wiem co dalej robić proszę o pomoc.
Tu jest link skryptu
  1. <?
  2. $dir = "fotos/ ";  # katalog zdjec foto /
  3. $ext = ".jpg|.gif|.png"; # rozszerzenia zdjęć/
  4. $tytul = "Razem zdjęć:"; # Ilość zdjęć w katalogu $dir/
  5. /*-----------------------------------------------------------------------*/
  6.  
  7.  
  8. $puk=opendir($dir);
  9. while ($fichero = readdir($puk)) {
  10. if (is_file($dir.$fichero) && eregi($ext,$dir.$fichero)) {
  11. $fotos["nombre"][$imagen] = $fichero;
  12. $fotos["modi"][$imagen] = filemtime($dir.$fichero);
  13. $imagen++;
  14. }
  15. }
  16. closedir($puk);
  17. /*-------------------------------------------------------------------------*/
  18.  
  19. function miniatury() {
  20. global $dir,$tytul,$imagen,$bytes,$fotos;
  21. $kb = number_format($bytes/1024);
  22. echo "<hr color=#8BBCF7><br>$tytul$imagen<br><div id="nazwa"> </div>
  23. ";array_multisort($fotos["modi"],SORT_DESC,$fotos["nombre"]);
  24. reset($fotos);
  25. for ($i=0;$i<$imagen;$i++) {
  26. echo "<a href="java script:click('".$fotos["nombre"][$i]."')">
  27. <img height=50 src=".$dir.$fotos["nombre"][$i]." border=1></a>  ";
  28. }
  29. }
  30. ?>
  31. <center><?
  32. ?>
  33. <script>
  34. function click(clicks) { document.images['zdjecie'].src="<?=$dir?>" + clicks; var nombre = clicks.substring(0,clicks.length-4); document.getElementById("nazwa").innerHTML = "Nazwa pliku:" + nombre.toUpperCase(); }
  35. </script>
  36. <tr>
  37. <img src=zdjecie.gif name="zdjecie" border=0>
  38. <?miniatury()?></center>[code][/code][code]


Ten post edytował Ozarys 1.01.2007, 19:51:41
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 6)
ARJ
post
Post #2





Grupa: Zarejestrowani
Postów: 453
Pomógł: 22
Dołączył: 20.09.2004
Skąd: Kraków - NH -

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


jeżeli chodzi o miniaturki to popraw kod html. twój kod tak jest interpretowany przez firebug:
  1. <img height="50" border="1" grzesiek2.jpg="" 2007-01-01="" src="katalogwww/peugeot405"/>

jeżeli chodzi o ostatnie zdjęcie to wyświetla o 1 miejsce za dużo czy w ostatnim nie ma danych do wyświetlenia?
Go to the top of the page
+Quote Post
Ozarys
post
Post #3





Grupa: Zarejestrowani
Postów: 24
Pomógł: 0
Dołączył: 7.07.2006
Skąd: Sosnowiec

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


Cytat(ARJ @ 1.01.2007, 20:24:03 ) *
jeżeli chodzi o ostatnie zdjęcie to wyświetla o 1 miejsce za dużo czy w ostatnim nie ma danych do wyświetlenia?

Wyświetla tyle ile jest zdjęć ale ostatnie nie ma danych, ilościowo jest ok. tylko nie wiem czemu nie wyświetla.

  1. <?php
  2. for ($i=0;$i<$imagen;$i++)
  3. ?>

Zmienna i nie może być większa niż ilość zdjęć tu jest dobrze tak mi się wydaje
Ale jak to wyświetlić to nie wiem w ogóle co jest źle.
  1. <?php
  2. {echo "<a href="java script:click('".$fotos["nombre"][$i]."')">
  3. <img height=70 src=".$dir.$fotos["nombre"][$i]." border=1></a>";
  4. }
  5. ?>

Jak coś komuś wpadnie to napiszcie bo ja nie wiem jak i co.

Ten post edytował Ozarys 2.01.2007, 11:11:04
Go to the top of the page
+Quote Post
ARJ
post
Post #4





Grupa: Zarejestrowani
Postów: 453
Pomógł: 22
Dołączył: 20.09.2004
Skąd: Kraków - NH -

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


  1. <?
  2. $dir = "images/";  # katalog zdjec foto /
  3. $ext = ".jpg|.gif|.png"; # rozszerzenia zdjęć/
  4. $tytul = "Razem zdjęć:"; # Ilość zdjęć w katalogu $dir/
  5. /*-----------------------------------------------------------------------*/
  6.  
  7.  
  8. $puk=opendir($dir);
  9. $imagen = 0;
  10. while ($fichero = readdir($puk)) {
  11. if (is_file($dir.$fichero) && eregi($ext,$dir.$fichero)) {
  12. $fotos["nombre"][$imagen] = $fichero;
  13. $fotos["modi"][$imagen] = filemtime($dir.$fichero);
  14. $imagen++;
  15. }
  16. }
  17. closedir($puk);
  18. /*-------------------------------------------------------------------------*/
  19.  
  20. function miniatury() {
  21. global $dir,$tytul,$imagen,$bytes,$fotos;
  22. $kb = number_format($bytes/1024);
  23. echo "<hr color=#8BBCF7><br>$tytul$imagen<br><div id="nazwa"> </div>";
  24. array_multisort($fotos["modi"],SORT_DESC,$fotos["nombre"]);
  25. reset($fotos);
  26. for ($i=0;$i<$imagen;$i++) {
  27. echo '<a href="java script:click(''.$fotos["nombre"][$i].'')"><img height="50" src="'.$dir.$fotos["nombre"][$i].'" border="1"></a>
  28. ';
  29. }
  30. }
  31. ?>
  32. <center><?
  33. ?>
  34. <script>
  35. function click(clicks) { document.images['zdjecie'].src="<?=$dir?>" + clicks; var nombre = clicks.substring(0,clicks.length-4); document.getElementById("nazwa").innerHTML = "Nazwa pliku:" + nombre.toUpperCase(); }
  36. </script>
  37. <tr>
  38. <img src=zdjecie.gif name="zdjecie" border=0>
  39. <?miniatury()?></center>

jeżeli chodzi o miniatury to poprawione jest echo wyświetlające link i zdjęcie. co do ostatniej miniaturki której nie było to byś do tego doszedł sprawdzając co zawiera tablica. był element bez indeksu. przy generacji tablic na początku skryptu dajesz $imagen++, ale gdzie jest zdefiniowana wartość tej zmiennej? wystarczyło wstawić przed pętlą wartość początkową: $imagen = 0; i wszystko gra.
w razie problemów pisz.
Go to the top of the page
+Quote Post
Ozarys
post
Post #5





Grupa: Zarejestrowani
Postów: 24
Pomógł: 0
Dołączył: 7.07.2006
Skąd: Sosnowiec

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


  1. <?php
  2. echo '<a href="java script:click(''.$fotos["nombre"][$i].'')"><img height="50" src="'.$dir.$fotos["nombre"][$i].'" border="1"></a>
  3. ';
  4. ?>

Po kliknięciu nie otwiera reszta dziala jak należy.
Go to the top of the page
+Quote Post
ARJ
post
Post #6





Grupa: Zarejestrowani
Postów: 453
Pomógł: 22
Dołączył: 20.09.2004
Skąd: Kraków - NH -

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


yyy... zapomniałem
forum rozdziela napis javascript ma być pisane razem, bez spacji.
Go to the top of the page
+Quote Post
Ozarys
post
Post #7





Grupa: Zarejestrowani
Postów: 24
Pomógł: 0
Dołączył: 7.07.2006
Skąd: Sosnowiec

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


Wielkie dzięki działa jak należy teraz się biorę za dalsze prace z tym skryptem jeszcze raz dzięki.
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 23.08.2025 - 06:52