Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Pomniejszanie i zapis obrazow.PROBLEM
Forum PHP.pl > Forum > PHP
pracz
Witam!!! Mam nadzieje ze mi tutaj ktos pomoze bo siedze juz taydzien nad tym. Otoz mam kod do zmniejszania i zapisywania zdjec:

  1.  
  2. $photo=$_FILES['userfoto'];
  3.  
  4. $thumbpath='localhost/photos_s';
  5.  
  6.  
  7. $foto_tmp = $_FILES['userfoto']['tmp_name'];
  8. $foto_nazwa = $_FILES['userfoto']['name'];
  9. $foto_rozmiar = $_FILES['userfoto']['size'];
  10.  
  11. if(is_uploaded_file($foto_tmp))
  12. {
  13.  
  14. list($width_src,$height_src) = getimagesize($foto_tmp);
  15.  
  16.  
  17. /*++++++Wylicza wysokosc lub szerokosc nowego obrazu+++++*/
  18.  
  19. if ( $width_src < $height_src )
  20. { $nheight = 350;
  21.  
  22. $nwidth = $width_src*$nheight/$height_src;
  23. }
  24. elseif( $width_src > $height_src )
  25. { $nwidth = 400;
  26.  
  27. $nheight = $nwidth/$width_src*$height_src;
  28. }
  29.  
  30.  
  31. $imagepath='localhost/photos/'.$foto_nazwa;
  32.  
  33. $dst_img=imagecreatetruecolor($nwidth,$nheight);
  34.  
  35. $src_img=ImageCreateFromJpeg($foto_tmp);
  36.  
  37.  
  38. $new=imagecopyresampled ($dst_img, $src_img, 0, 0, 0, 0, $nwidth, $nheight, $width_src,$height_src);
  39.  
  40. imagejpeg($dst_img, NULL, 100);
  41.  
  42. imagejpeg($dst_img, "7.jpg", 100);
  43.  
  44. if(move_uploaded_file($foto_tmp,$imagepath)) {imagedestroy($foto_tmp);
  45. echo'ok';}
  46.  
  47.  
  48. }
  49.  
  50. else echo'nie ma zdjecia';
  51.  
  52.  


Kod sie wykonuje tzn. pomniejsza zdjecie ale nie zapisuje go w docekowym katalogu /photos/ tylko w glownym katalogu htdocs. Problem nr.2 : po wykonaniu kodu zamiast zwyklego 'ok' wyswietla mi sie cos w tym stylu :

...lò<æât†Ko"ØÇ.ùd(¶â9žb“.jh¼8º“\Ü^_NWQXí’DŽÔKm¼Kù¡¶„[$Vö—òZ$ð3ÜKq2=Ë\Ü]M-÷Ñl4Ý>ÏM´Wû<Ç{œ)J)ÂsºµÜ¢’³·ò¶ïøwÓuU‡2”`ôÓ•»ÞÝo¥½5ò-HÞÝ[ kû¯´£É‹[øª *#Ž;-ÚµÃùfHö™m¢eHKX:µŒšs™æ@ëq{k×ø-¿ÿ�äºñ Oɹ]Rõ£‚ð–ºOœ÷WRY^Í4³.Š&\]ZA,‹Ö±Û±˜XEhCè_ÙúßýSÿ��®ÿ�ùq\³«4©JRM&Üâ¢Ó÷Sµ¤ôÿ�ƒn‚T¥;¹¨ÁÞÊÒrÓOîômÿ�V¿ÿÙ
Warning: move_uploaded_file(localhost/photos/02fn.jpg) [function.move-uploaded-file]: failed to open stream: No such file or directory in C:\Programme\Apache Group\Apache\htdocs\photo_upload.php on line 48

Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move 'C:\WINDOWS\Temp\php34C.tmp' to 'localhost/photos/02fn.jpg' in C:\Programme\Apache Group\Apache\htdocs\photo_upload.php on line 48


Zaznaczam ze katalog /photos/ ISTNIEJE!!!

Co jest nie tak?

Bede wdzieczny za kazde sugestie!!!
gac3k
Sugestia smile.gif

Problem jest moim zdaniem w tej linijce

  1. imagejpeg($dst_img, NULL, 100);


próbujesz tutaj wyświetlić obrazek, jako drugi parametr podając null, ale w nagłówkach content-type masz ustawione zapewne na text/html a nie image/jpg, stąd też te śmieszne znaczki na początku, tak więc zakomentuj tą linijkę i sprawdź co zostanie.
pracz
Dzieki za podpowiedz teraz wyswietla tylko:

Warning: move_uploaded_file(localhost/photos/02fn.jpg) [function.move-uploaded-file]: failed to open stream: No such file or directory in C:\Programme\Apache Group\Apache\htdocs\photo_upload.php on line 48

Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move 'C:\WINDOWS\Temp\php374.tmp' to 'localhost/photos/02fn.jpg' in C:\Programme\Apache Group\Apache\htdocs\photo_upload.php on line 48

a zdjecie nadal zapisuje w htdocs hmmm...
gac3k
nie możesz używać w takim wypadku ścieżek bezwzględnych a tym bardziej w przypadku localhosta, tak więc zamień

Kod
$thumbpath='localhost/photos_s';


na

Kod
$thumbpath='photos_s';


a

Kod
$imagepath='localhost/photos/'.$foto_nazwa;


na

Kod
$imagepath='photos/'.$foto_nazwa;


oczywiście o ile katalog photos jest w tym samym katalogu co plik photo_upload.php
pracz
OK DZIALA!!! Dzieki bardzo!!! Winny jestem skrzynki piwa!!!! Pozdrawiam i milego wieczoru zycze!!!

Ale!!!! Zapisuje zdjecie bez pomniejszenia??

Pomniejszone zapisuje nadal w htdocs a oryginal w photos
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.