Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [GD]Funkcja tworząca ikonki .jpg, Adaptacja do .gif i .png
Master Miko
post
Post #1





Grupa: Zarejestrowani
Postów: 530
Pomógł: 0
Dołączył: 15.01.2005
Skąd: Warszawa

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


Witam, oto skrypt tworzący ikonki (obrazki o mniejszych wymiarach).

Podaje się 2 wartości:

dir - ścieżka do pliku
scale - skala pliku (długość boku małej ikonki)

skrypt inicjuje się przez:

  1. <?php
  2.  
  3. <img src="icon.php?dir=(sciezka)&scale=(skala)" alt="Opis...">
  4.  
  5. ?>


Skrypt działa, bardzo fajnie, ale jak dostosować go do tego, żeby również przetwarzał pliki png i gif?
Skrypt został napisany przeze mnie z pomocą książek i for (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)

PS. chciałbym, aby jeśli jakiś plik nie istnieje, zamist normalnego krzyżyka, pojawiał się przeze mnie ustalony plik obrazkowy
PS2. Każdy może użyć tego pliku
PS3. Jakie zabezpieczenia polecilibyście zastosować?



Plik icon.php:
  1. <?php
  2.  header("Content-type: image/jpg");
  3.  $imgName = $_GET['dir']; // Pobiera plik razem ze ścieżką
  4.  $size = $_GET['scale']; // Jaka skala ma być - $size wyznacza długość boku, a wysokość jest dostosowana.
  5.  
  6. if(!($img = imagecreatefromjpeg($imgName))){
  7. echo("Nie Można otworzyć Pliku - $imgName");
  8. return false;
  9. }
  10.  
  11. $img_w = imagesx($img);
  12. $img_h = imagesy($img);
  13. $ratio = $img_w / $img_h;
  14.  
  15. if($ratio > 1){
  16. $new_img_w = $size;
  17. $new_img_h = ($size / $ratio);
  18. } else {
  19. $new_img_w = ($size * $ratio);
  20. $new_img_h = $size;
  21. }
  22. $tempImg = imagecreatetruecolor($new_img_w, $new_img_h);
  23. imagecopyresampled($tempImg, $img, 0, 0, 0, 0, $new_img_w, $new_img_h, $img_w, $img_h);
  24. $name = substr($imgName, 0, strlen($imgName) - 4);
  25. $name = $name."small.jpg";
  26. imagejpeg($tempImg, $name);
  27. Header('Content-type: image/jpeg');
  28. imagejpeg($tempImg, '', 50);
  29. imagedestroy($tempImg);
  30. ?>


Proszę o pomoc.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Master Miko
post
Post #2





Grupa: Zarejestrowani
Postów: 530
Pomógł: 0
Dołączył: 15.01.2005
Skąd: Warszawa

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


Dziękuję JESZCZE RAZ!!!! Należy Ci się za to ogromny plus (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) (za zadawanie się z takimi noobami jak ja (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) )

A zabezpiecznie? co ze zmiennymi? Sprawdzić, żeby to była liczba - argument scale itp?
Go to the top of the page
+Quote Post

Posty w temacie


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: 18.09.2025 - 12:28