Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php] upload i zmniejszanie obrazków w locie
wzd
post
Post #1





Grupa: Zarejestrowani
Postów: 24
Pomógł: 1
Dołączył: 26.06.2007

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


Witam, proszę ekspertów o rzucenie okiem na ten kod. Już nie mam pojęcia gdzie popełniam błąd.
Chodzi mi o to, aby pobrać plik obrazka, zmniejszyć go do określonej wielkości i przekopiować do katalogu upload.

Oto mój kod

Formularz
  1. <form action="test.php" method="post" enctype="multipart/form-data">
  2. <input type="hidden" name="MAX_FILE_SIZE" value="50000">
  3. <p>Upload Image: <input type="file" name="logo"><br/>
  4. <font size="1">Podaj plik</font><br/>
  5. <br/>
  6. <input type="submit" name="submit" value="Upload">
  7. </form>


Kod PHP
  1. <?php
  2.  
  3. if(isset($_POST['submit']))
  4. {
  5. $logo_tmp = $_FILES['logo']['tmp_name'];
  6. $logo_name = $_FILES['logo']['name'];
  7.  
  8. $path_thumbs = "/tmp";
  9.  
  10. $losowa_nazwa = md5(time());
  11. $losowa_nazwa = rand(0,999999999);
  12.  
  13. $pobierz_rozszerzenie = explode ('.', $logo_name);
  14. $rozszerzenie = $pobierz_rozszerzenie[count($pobierz_rozszerzenie)-1];
  15.  
  16. $dozwolone = array(".gif",".jpg",".png",".jpeg");
  17.  
  18. $thumb_path = substr($logo_tmp,0,strrpos($logo_tmp, '.')).'_min.jpg';
  19. $max_width = $max_height=100;
  20.  
  21. if(!is_uploaded_file($logo_tmp))
  22. {
  23. echo "Brak pliku";
  24. exit();
  25. }
  26.  
  27. $img_attr = getimagesize($logo_tmp);
  28.  
  29. if($img_attr[0]>$img_attr[1])
  30. {
  31.  $scale = $img_attr[0] / $max_width;
  32.  }
  33.  else
  34.  {
  35.  $scale = $img_attr[1] / $max_height;
  36.  } 
  37.  
  38.  $w = floor($img_attr[0]/$scale);
  39.  $h = floor($img_attr[1]/$scale);
  40.  
  41.  $ext = strrchr($logo_name,'.');
  42.  $ext = strtolower($ext);
  43.  
  44.  if (in_array($ext,$dozwolone)) 
  45.  {
  46.  $nowy = imagecreatefromjpeg($logo_tmp);
  47.  $zmniejszony_obrazek = imagecreatetruecolor($w,$h);
  48. imagecopyresized($zmniejszony_obrazek, $nowy, 0, 0, 0, 0, $w, $h, $img_attr[0], $img_attr[1]);
  49. imagejpeg($zmniejszony_obrazek,"$path_thumbs/$losowa_nazwa.$rozszerzenie",100);
  50. imagedestroy($zmniejszony_obrazek);
  51. imagedestroy ($nowy);
  52. move_uploaded_file ($file_tmp, "/upload/$losowa_nazwa.$rozszerzenie");
  53.  }
  54.  
  55.  
  56. }
  57. ?>


Efekt działania jak narazie :
  1. <?php Warning: imagejpeg() [function.imagejpeg]: Unable to open '/tmp/739776611.jpg' for writing in C:Program FilesWebServhttpd\test.php on line 49
  2. ?>


Ten post edytował wzd 8.01.2008, 00:02:02
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: 23.08.2025 - 13:03