Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php] galeria
_bezimienny
post
Post #1





Grupa: Zarejestrowani
Postów: 24
Pomógł: 0
Dołączył: 19.03.2006
Skąd: Wisła

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


Napotkałem się na pewną przeszkodę podczas tworzenia skrytpu galierii.
  1. <?
  2. $lokalizacja="folder";
  3. $dir=opendir("$lokalizacja/male/"); 
  4. $b=0;
  5. while($plik=readdir($dir)){
  6. if($plik!="." && $plik!=".." && $plik!="Thumbs.db"){
  7. $b++;
  8. $sciezka="$lokalizacja/$plik";
  9. $sciezkamale="$lokalizacja/male/$plik"; 
  10. list($width, $height, $type, $attr) = getimagesize("$sciezka");
  11. echo "<img vspace=\"1\" hspace=\"1\" src=$sciezkamale onClick=\"window.open('$sciezka','okienko','scrollbars=no, status=no, toolbar=no, location=no, directories=no, width=$width,
     height=$height, left=100, top=100');\">"
    ; 
  12. if ($b%4==0){echo "<br>";}
  13.  
  14. }
  15. } 
  16.  
  17. ?>

Galeria działa na zasadzie czytania plik z folderu. I tutaj mam problem. Czyta mi wszystkie plik, które są w folderze a nie tylko jpg czy png. Byłbym wdzięczny jakby ktoś mi powiedział co z tym zrobić. Z góry thx.
Go to the top of the page
+Quote Post
tuner
post
Post #2





Grupa: Zarejestrowani
Postów: 55
Pomógł: 0
Dołączył: 10.12.2004

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


  1. <?php
  2. if(ereg(".png$|.jpg$|.jpeg$", strtolower($File)))
  3. {
  4. // OK
  5. }
  6.  
  7. ?>
Go to the top of the page
+Quote Post
_bezimienny
post
Post #3





Grupa: Zarejestrowani
Postów: 24
Pomógł: 0
Dołączył: 19.03.2006
Skąd: Wisła

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


serdeczne dzięki! o to mi chodziło!
pozdr
Go to the top of the page
+Quote Post
Bastion
post
Post #4





Grupa: Zarejestrowani
Postów: 505
Pomógł: 0
Dołączył: 8.01.2005

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


warto tez sprawdzac czy taki plik pomimo rozszerzenia na pewno jest plikiem graficznym, a nie tylko ze ma takie rozszerzenie


--------------------
Go to the top of the page
+Quote Post
_bezimienny
post
Post #5





Grupa: Zarejestrowani
Postów: 24
Pomógł: 0
Dołączył: 19.03.2006
Skąd: Wisła

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


chodzi ci o funkcję IMAGETYPE :?:
Go to the top of the page
+Quote Post
Kahir
post
Post #6





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 13.10.2004

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


Witam,
chodzi o funkcje getimagesize(), przykład:
  1. <?php
  2. $imgSize = getimagesize('obrazek.jpg');
  3. $mimeType = $imgSize['mime']; // type MIME obrazka
  4. ?>


Ten post edytował Kahir 17.04.2006, 10:56:45
Go to the top of the page
+Quote Post
_bezimienny
post
Post #7





Grupa: Zarejestrowani
Postów: 24
Pomógł: 0
Dołączył: 19.03.2006
Skąd: Wisła

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


nie rozumiem trzeciej lini :/
Go to the top of the page
+Quote Post
Kahir
post
Post #8





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 13.10.2004

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


Funkcja getimagesize() zwraca tablicę, w której przechowywany jest między innymi typ MIME obrazka (image/jpeg, image/png, itd). Wartość ta jest przechowywana pod kluczem 'mime', czyli
  1. <?php
  2.  $mimeType = $imgSize['mime'];
  3. ?>
Mam nadzięję, żę w marę jasno to wytłumaczyłem.
Następnie sprawdzasz czy $mimeType == image/jpeg || image/png || ...
Go to the top of the page
+Quote Post
_bezimienny
post
Post #9





Grupa: Zarejestrowani
Postów: 24
Pomógł: 0
Dołączył: 19.03.2006
Skąd: Wisła

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


Może wytłumaczone to jest jasno, ale nie wiem gdzie to mam wsadzić. Ciągle zwraca mi błędy :/

Utworzyłem plik txt i zamieniłem jego rozszerzenie na jpg w celu sprawdzenia, ale wyrzuca mi taki błąd:
Cytat
Warning: getimagesize: Unable to open 'new.jpg' for reading. in c:\phpdev5\www\proba\gallery.php on line 11


Umieszczam jeszcze raz cały kod z poprawkami:
  1. <?
  2. $lokalizacja="folder";
  3. $dir=opendir("$lokalizacja/male/");
  4. $b=0;  
  5. while($plik=readdir($dir)){
  6. if(ereg(".png$|.jpg$|.jpeg$", strtolower($plik))){
  7. $b++;
  8. $sciezka="$lokalizacja/$plik";
  9. $sciezkamale="$lokalizacja/male/$plik"; 
  10. list($width, $height, $type, $attr) = getimagesize($sciezka);
  11. $imgSize = getimagesize($sciezka);
  12. $mimeType = $imgSize['mime'];
  13. if ($mimeType == jpeg || png){
  14. echo "<img  vspace=\"1\" hspace=\"1\" src=$sciezkamale onClick=\"window.open('$sciezka','okienko','scrollbars=no, status=no, toolbar=no, location=no, directories=no, width=$width,
     height=$height, left=100, top=100');\">"
    ; 
  15. if ($b%4==0){echo "<br>";}
  16. }
  17. }
  18. } 
  19. ?>


Ten post edytował _bezimienny 18.04.2006, 10:06:29
Go to the top of the page
+Quote Post
bigZbig
post
Post #10





Grupa: Zarejestrowani
Postów: 740
Pomógł: 15
Dołączył: 23.08.2004
Skąd: Poznań

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


Zamiast
  1. <?php if ($mimeType == jpeg || png) ?>
daj
  1. <?php if ($mimeType == 'image/jpeg' || $mimeType == 'image/png') ?>


--------------------
bigZbig (Zbigniew Heintze) | blog.heintze.pl
Go to the top of the page
+Quote Post
_bezimienny
post
Post #11





Grupa: Zarejestrowani
Postów: 24
Pomógł: 0
Dołączył: 19.03.2006
Skąd: Wisła

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


efekt jest ten sam... Chociaż przedtem wyświetlało mi również pozostałe pliki, które są zdjęciami. Teraz wyświetla mi tylko ten komunikat.

Coś mu się nie podoba w tym fragmencie:
  1. <?php
  2. list($width, $height, $type, $attr) = getimagesize($sciezka);
  3. $imgSize = getimagesize($sciezka);
  4. ?>


Ten post edytował _bezimienny 18.04.2006, 12:54:09
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: 19.08.2025 - 02:11