Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Wprowadzenie zmian w pliku jpg i zapisanie go!
Forum PHP.pl > Forum > Przedszkole
piotr485
Witam. Mam takie pytanko - mianowicie wysyłam zdjęcie na serwer za pomocą move_uploaded_file, później zmieniam sobie jego nazwę

I teraz jak np. zrobic jakas operacje na nim i dopiero go zapisac. Tzw. zmiejszyc, albo napisac jakis na nim napis za pomoca biblioteki GD i dopiero wtedy do zapisac, ktos poda przykladowy prosty przykladzik ? Z góry dziękuję!
Fifi209
Przez gd otwierasz swój plik w moim przypadku:
  1. $_FILES['file']['tmp_name']


Przykładowo możesz zrobić tak:
  1. $image = imagecreatefrompng($_FILES['file']['tmp_name']);
  2. $width = imagesx($image);
  3. $height = imagesy($image);
  4.  
  5. if ($width > 100 && $height > 100) {
  6.  
  7. if ($width > 700 || $height > 600) {
  8. $img = imagecreatetruecolor(700, 600);
  9. imagecopyresampled($img, $image, 0, 0, 0, 0, 700, 600, $width, $height);
  10. }else{
  11. $img = $image;
  12. }


Ja sobie tak ustawiłem skalowanie zdjęcia.
piotr485
No słuchaj, na początek napisałem coś takiego:

  1. 15 move_uploaded_file($_FILES['wrzut']["tmp_name"], $sciezka_do_zdjec.$_FILES['wrzut']["name"]);
  2. 16 rename(''.$sciezka_do_zdjec.$_FILES['wrzut']["name"].'', ''.$sciezka_do_zdjec.$nazwa_pliku.'');
  3. 17
  4. 18 $image = imagecreatefromjpeg(''.$sciezka_do_zdjec.$nazwa_pliku.'');
  5. 19 imagejpg($image, ''.$sciezka_do_zdjec.$nazwa_pliku.'', 1);


Wyrzuca mi błąd:

  1. Fatal error: Call to undefined function &#65533;<�2,��,�� () in /home/.... on line 19


Czy tą blibliotekę GD trzeba gdzieś wgrac na serwer czy jest w budowana ? (serwer mam w nazwapl)
Fifi209
Musi być po prostu włączona biblioteka, u mnie na localhoście wszystko śmiga. Wystarczy usunąć komentarz z odpowiedniej linii w php.ini, do którego dostępu raczej nie masz.
vokiel
Używając biblioteki GD nie musisz używać move_uploaded_file. Operujesz na pliku tmp i z niego tworzysz obrazek ze zmianami. I ten zmieniony po prostu zapisujesz w wybranej lokalizacji.
piotr485
No dobra ale nikt nieodpowiedzial mi na pytanie - tzw. nic nieskumalem - czy moj kod jest prawidlowy ? Dlaczego mi tego niekonwertuje tylko wywala ten blad ? Zaraz napisze do pomocy serwerowej ...
marian2299
Wyraźnie błąd jest w tej linijce:
  1. imagejpg($image, ''.$sciezka_do_zdjec.$nazwa_pliku.'', 1);


"Fatal error: Call to undefined function " means, że odwołuje się do niezdefiniowanej funkcji...
patryk9200
masz błąd zamiast:
  1. imagejpg($image, ''.$sciezka_do_zdjec.$nazwa_pliku.'', 1);

powinno być:
  1. imagejpeg($image, ''.$sciezka_do_zdjec.$nazwa_pliku.'', 1);

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.