Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php] Miniaturkowanie, problem z miniaturkami
mefjiu
post
Post #1





Grupa: Zarejestrowani
Postów: 313
Pomógł: 5
Dołączył: 22.03.2005

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


Witam mój problem polega na tym iż, użytkownik dodający avatr, zdjęcie do serwisu będzie dodawał w różnych formatach tzn jpeg ,gif, png. i do tego w funkcji dopisałem coś takiego

  1. <?php
  2. $k=explode(".",$img_src);
  3.  
  4. if(strpos($k[1],"jpg")===|| strpos($k[1],"jpeg")===0){
  5. $img =imagecreatefromjpeg("$img_src");
  6. $ok[] = "wyszło jpg";
  7. }
  8. elseif(strpos($k[1],"gif")===0){
  9. $img =imagecreatefromgif("$img_src");
  10. $ok[] = "wyszło gif";
  11. }
  12. elseif(strpos($k[1],"png")===0){
  13. $img =imagecreatefrompng("$img_src");
  14. $ok[] = "wyszło png";
  15. }
  16. else{
  17.  return false;
  18. }
  19. ?>

wszystko działa ok ale problem pojawia się w trwożeniu miniaturki tzn tworzy ją poprawnie ale w złym formacie. Tworzą ją w formacie takim jakim dodał użytkownik, a ja chciałbym wszystkie miniaturki konwertować do JPG.

Aktualnie jest tak że jak ktoś doda zdjęcie png to na koniec dostanie tez zdjęcie pnd ale pomniejszone, powinien dostać pomniejszone jpg


Cały kod wygląda tak:

  1. <?php
  2. function conwertimage($img_src,$add_src,$width_mini,$height_mini){
  3. $k=explode(".",$img_src);
  4.  
  5. if(strpos($k[1],"jpg")===|| strpos($k[1],"jpeg")===0){
  6. $img =imagecreatefromjpeg("$img_src");
  7. $ok[] = "wyszło jpg";
  8. }
  9. elseif(strpos($k[1],"gif")===0){
  10. $img =imagecreatefromgif("$img_src");
  11. $ok[] = "wyszło gif";
  12. }
  13. elseif(strpos($k[1],"png")===0){
  14. $img =imagecreatefrompng("$img_src");
  15. $ok[] = "wyszło png";
  16. }
  17. else{
  18.  return false;
  19. } 
  20.  
  21. $width = imagesx($img);
  22. $height = imagesy($img);
  23.  
  24. $img_mini = imagecreatetruecolor($width_mini, $height_mini);
  25.  
  26. imagecopyresampled($img_mini, $img, 0, 0, 0, 0, $width_mini, $height_mini, $width , $height);
  27.  
  28. imagejpeg($img_mini, $add_src, 80);
  29. imagedestroy($img);
  30. imagedestroy($img_mini);
  31. }
  32. ?>


Z góry dziękuję za pomoc
Go to the top of the page
+Quote Post
nowotny
post
Post #2





Grupa: Zarejestrowani
Postów: 875
Pomógł: 122
Dołączył: 2.02.2008

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


A co masz w zmiennej $add_src...? Poza tym masz buga - jeśli ktoś załaduje plik z nazwą np. "moje.super.zdjecie.jpg" funkcja ci się posypie... zainteresuj się funkcją pathinfo" title="Zobacz w manualu PHP" target="_manual...
Go to the top of the page
+Quote Post
marcio
post
Post #3





Grupa: Zarejestrowani
Postów: 2 291
Pomógł: 156
Dołączył: 23.09.2007
Skąd: ITALY-MILAN

Ostrzeżenie: (10%)
X----


  1. <?php
  2. $folder = '/odebrane/'.$_FILE['plik1']['tmp_name'];
  3. $explode = explode('.', $_FILES['plik1']['name']);
  4. $extension = $explode[sizeof($explode)-1];
  5. if($extension == 'jpg' || $extension == 'gif' || $extension == 'png') { 
  6. move_uploaded_file($_FILE['plik1']['tmp_name'], $folder);
  7. //dalesz dzialania
  8. }
  9. ?>

Cos takiego tak chyba najlatwiej


--------------------
Zainteresowania: XML | PHP | MY(SQL)| C# for .NET | PYTHON
http://code.google.com/p/form-builider/
Moj blog
Go to the top of the page
+Quote Post
mefjiu
post
Post #4





Grupa: Zarejestrowani
Postów: 313
Pomógł: 5
Dołączył: 22.03.2005

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


Faktycznie z tym bugiem. Dzięi bede kombinował inaczej.
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 - 10:52