Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Wprowadzenie zmian w pliku jpg i zapisanie go!
piotr485
post 15.11.2009, 20:39:06
Post #1





Grupa: Zarejestrowani
Postów: 292
Pomógł: 0
Dołączył: 10.07.2009

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


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ę!
Go to the top of the page
+Quote Post
Fifi209
post 15.11.2009, 20:42:15
Post #2





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

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


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.


--------------------
Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP
Go to the top of the page
+Quote Post
piotr485
post 15.11.2009, 20:52:56
Post #3





Grupa: Zarejestrowani
Postów: 292
Pomógł: 0
Dołączył: 10.07.2009

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


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)
Go to the top of the page
+Quote Post
Fifi209
post 15.11.2009, 20:54:44
Post #4





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

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


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.


--------------------
Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP
Go to the top of the page
+Quote Post
vokiel
post 15.11.2009, 20:55:23
Post #5





Grupa: Zarejestrowani
Postów: 2 592
Pomógł: 445
Dołączył: 12.03.2007

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


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.


--------------------
Go to the top of the page
+Quote Post
piotr485
post 15.11.2009, 20:59:14
Post #6





Grupa: Zarejestrowani
Postów: 292
Pomógł: 0
Dołączył: 10.07.2009

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


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 ...
Go to the top of the page
+Quote Post
marian2299
post 15.11.2009, 21:44:39
Post #7





Grupa: Zarejestrowani
Postów: 272
Pomógł: 9
Dołączył: 6.06.2009

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


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...


--------------------
film edit student
Go to the top of the page
+Quote Post
patryk9200
post 15.11.2009, 21:52:03
Post #8





Grupa: Zarejestrowani
Postów: 319
Pomógł: 4
Dołączył: 7.02.2009
Skąd: pless

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


masz błąd zamiast:
  1. imagejpg($image, ''.$sciezka_do_zdjec.$nazwa_pliku.'', 1);

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

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 Wersja Lo-Fi Aktualny czas: 20.06.2025 - 22:11