Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]upload zdjecia wraz z generowaniem miniaturek, problem podczas generowania plików png
b0nz0
post
Post #1





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

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


Witam mam problem odnosnie wysyłania zdjec na serwer typu png .
Mam własna galerie która przy uploadzie tworzy miniaturke zdjecia automatycznie.Zdjecie jest zapisywane oddzielnie do innego katalogu natomiant miniaturka do innego.Ta czesc kodu działa mi dla jpg i gifów ,przy niwielkiej modernizacji podstawowych funkcji typu imagegif zaminiam na imagepng itd. Natomiast dla rozszerzenia png nie działa .wysyła zdjecie i mianiaturke ale niestety jej nie wyswietla .Natomiast jesli zdjecie i miniatórke wrzuce recznie wszystko wyswietla ok wiec to wina tego kodu a nie obsługi tego typu lików na serwerze.Z góry dziekuje za pomoc.
Oto częsc kodu :

  1. <?php
  2. $plik_tmp = $_FILES['pliki']['tmp_name'];
  3. $plik_nazwa = $_FILES['pliki']['name'];
  4. $plik_rozmiar = $_FILES['pliki']['size'];
  5.  
  6. if(is_uploaded_file($plik_tmp)){
  7. $sp = explode(".",$plik_nazwa);
  8. if ($sp[1]=="GIF" || $sp[1]=="gif"){
  9.  if($plik_rozmiar <="9000000"){
  10.  if(move_uploaded_file($plik_tmp,"zdjecia/".$plik_nazwa)){
  11.  // ustalanie nazwy pliku
  12.  $sciezka = pathinfo($plik_nazwa);
  13. if(copy("zdjecia/".$plik_nazwa, "miniaturki/".$plik_nazwa)){
  14. //generowanie wielkosci zdjecia( max 600 x 600 )
  15. $wymiar = getimagesize("zdjecia/".$plik_nazwa); // wymiary oryginalnego obrazka
  16. if($wymiar[0] > $wymiar[1]){ $wys_nor = round((600*$wymiar[1]/$wymiar[0]), 0); $szer_nor = 600; }
  17. if($wymiar[0] < $wymiar[1]){ $szer_nor = round((600*$wymiar[0]/$wymiar[1]), 0); $wys_nor = 600; }
  18. if($wymiar[0] == $wymiar[1]){ $wys_nor = 600; $szer_nor = 600; }
  19. $PustyObrazek = imagecreatetruecolor($szer_nor, $wys_nor);
  20. $nowy = imagecreatefromgif("zdjecia/".$plik_nazwa);
  21. imagecopyresized($PustyObrazek, $nowy, 0, 0, 0, 0, $szer_nor, $wys_nor, $wymiar[0], $wymiar[1]);
  22. // tworzenie miniatury zdjęcia o wymiarze ( max 100 x 100 )
  23. if($wymiar[0] > $wymiar[1]){ $wys_mini = round((100*$wymiar[1]/$wymiar[0]), 0); $szer_mini = 100; }
  24. if($wymiar[0] < $wymiar[1]){ $szer_mini = round((100*$wymiar[0]/$wymiar[1]), 0); $wys_mini = 100; }
  25. if($wymiar[0] == $wymiar[1]){ $wys_mini = 100; $szer_mini = 100; }
  26. $mini = imagecreatetruecolor($szer_mini, $wys_mini);
  27. $nowy = imagecreatefromgif("zdjecia/".$plik_nazwa);
  28. imagecopyresized($mini, $nowy, 0, 0, 0, 0, $szer_mini, $wys_mini, $wymiar[0], $wymiar[1]);
  29. // tworzenie zdjęcia i miniatury
  30. imagegif($PustyObrazek, "zdjecia/".$plik_nazwa, 100) && imagegif($mini, "miniaturki/".$plik_nazwa, 100);
  31.  
  32. ?>


Ten post edytował b0nz0 19.05.2008, 00:01:51
Go to the top of the page
+Quote Post

Posty w temacie


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: 20.08.2025 - 06:07