Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Zmniejszanie zdjec
Forum PHP.pl > Forum > PHP
johny335
Witam,
skopiowałem ten kod z manuala:
  1. <?php
  2. // The file
  3. $filename = 'test.jpg';
  4.  
  5. // Set a maximum height and width
  6. $width = 200;
  7. $height = 200;
  8.  
  9. // Content type
  10. header('Content-Type: image/jpeg');
  11.  
  12. // Get new dimensions
  13. list($width_orig, $height_orig) = getimagesize($filename);
  14.  
  15. $ratio_orig = $width_orig/$height_orig;
  16.  
  17. if ($width/$height > $ratio_orig) {
  18. $width = $height*$ratio_orig;
  19. } else {
  20. $height = $width/$ratio_orig;
  21. }
  22.  
  23. // Resample
  24. $image_p = imagecreatetruecolor($width, $height);
  25. $image = imagecreatefromjpeg($filename);
  26. imagecopyresampled($image_p, $image, 0, 0, 0, 0, $width, $height, $width_orig, $height_orig);
  27.  
  28. // Output
  29. imagejpeg($image_p, 'test1.jpg', 100);
  30. ?>


i zmienilem tylko
  1. imagejpeg($image_p, null, 100);

na
  1. imagejpeg($image_p, 'test1.jpg', 100);

zeby zapisywalo pomniejszony obrazek, ale caly czas dostaje blad:
"Obrazek test.jpg nie może zostać wyświetlony, ponieważ zawiera błędy."

Prosze o pomoc
nospor
Kod z manuala wyświetla zdjęcie. Ty robiąc zmianę zapisujesz zdjęcie na dysk, ale go nie wyświetlasz. Możesz i tak. Ale skoro nie chcesz wyświetlać, to nie wysyłaj nagłówka, że to obrazek smile.gif
kamil_lk
Witam.

Ostatnio sam siedziałem nad zmianą obrazków i coś tam naskrobałem.
Poniżej skrypt do robienia miniaturek. Musisz utworzyć jeszcze katalog o nazwie galeria.
PS. Skrypt przerabia pliki jpeg.
  1. <?php
  2. if(isset($_POST['ok']))
  3. {
  4. $plik_tmp = $_FILES['plik']['tmp_name'];
  5. $plik_nazwa = $_FILES['plik']['name'];
  6. $plik_rozmiar = $_FILES['plik']['size'];
  7. $plik_typ = $_FILES['plik']['type'];
  8. $plik_typ = explode('/', $plik_typ) ;
  9. if($plik_typ['1'] == 'jpeg')
  10. {
  11. if(is_uploaded_file($plik_tmp))
  12. {
  13. move_uploaded_file($plik_tmp, "galeria/$plik_nazwa");
  14. $folder = "C:/Program Files/WebServ/httpd-users/galeria1/galeria";
  15. $dir = opendir($folder);
  16. while($img_name = readdir($dir))
  17. {
  18. if($img_name == $plik_nazwa)
  19. {
  20. $img = imagecreatefromjpeg('galeria/'.$img_name);
  21. $sW = imagesx($img);
  22. $sH = imagesy($img);
  23. $tempImg = imagecreatetruecolor(126, 169);
  24. imagecopyresampled($tempImg, $img, 0, 0, 0, 0, 126, 169, $sW, $sH);
  25. imagejpeg($tempImg, $folder.'/'.$img_name);
  26. }
  27. }
  28. }
  29. } else echo 'Zły format pliku!';
  30. }
  31. ?>
  32.  
  33. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  34. <html xmlns="http://www.w3.org/1999/xhtml">
  35. <head>
  36. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  37. <title>Untitled Document</title>
  38. </head>
  39.  
  40. <body>
  41. <form action="index.php" method="post" enctype="multipart/form-data">
  42. <input type="file" name="plik" />
  43. <input type="submit" name="ok" value="ok" />
  44. </form>
  45. </body>
  46. </html>
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.