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
 
Start new topic
Odpowiedzi
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 559
Pomógł: 6315
Dołączył: 27.12.2004




Cytat
przy niwielkiej modernizacji podstawowych funkcji typu imagegif zaminiam na imagepng itd.
No to moze cos źle zamieniasz... pokad dokladnie kod, ktory nie dziala, bo ten co pokazales to dziala wiec nam nic to nie mowi.
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: 14.10.2025 - 18:32