Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Problem ze zmienianiem rozmiaru obrazka
renault12
post
Post #1





Grupa: Zarejestrowani
Postów: 147
Pomógł: 0
Dołączył: 9.01.2010

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


Tak jak w temacie mam mały problem dotyczący zmieniania rozmiarów obrazka. Przy kodzie występuję błąd w takiej postaci:


  1. Warning: imagecopyresized(): supplied argument is not a valid Image resource in /home/tomstoys/public_html/resizer.php on line 34
  2. efault quality (IMG:style_emoticons/default/questionmark.gif) ?C?   


Plik który wrzucam to jpg

A to jest kod:
  1. <?
  2. if (isset($_POST['wyslij'])) {
  3. $szer = $_POST['szer'];
  4. $wys = $_POST['wys'];
  5. $file = $_FILES['obraz'];
  6. $filesize = $file['size'];
  7. $filename = "obrazy/" . $file['name'];
  8. move_uploaded_file($_FILES["obraz"]["tmp_name"],
  9. "obrazy/" . $_FILES["obraz"]["name"]);
  10. $typ = "obrazy/" . $_FILES['obraz']['type'];
  11. if ($typ == "image/jpeg") {
  12. $source_id = imagecreatefromjpeg("obrazy/" . $_FILES["obraz"]["name"]);
  13. }
  14. if ($typ == "image/png") {
  15. $source_id = imagecreatefrompng("obrazy/" . $_FILES["obraz"]["name"]);
  16. }
  17. if ($typ == "image/gif") {
  18. $source_id = imagecreatefromgif("obrazy/" . $_FILES["obraz"]["name"]);
  19. }
  20. if ($typ == "image/bmp") {
  21. $source_id = imagecreatefromwbmp("obrazy/" . $_FILES["obraz"]["name"]);
  22. }
  23. list($szerokosc, $wysokosc) = getimagesize($filename);
  24. $thumb = imagecreatetruecolor($szer, $wys);
  25. $target_pic = imagecopyresized($thumb, $source_id, 0, 0, 0, 0, $szer, $wys, $szerokosc, $wysokosc);
  26. imagejpeg($thumb);
  27. }
  28. ?>


Ktoś bystry mógłby coś poradzić (IMG:style_emoticons/default/smile.gif) ?

Ten post edytował renault12 14.06.2010, 16:35:29
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
tehaha
post
Post #2





Grupa: Zarejestrowani
Postów: 1 748
Pomógł: 388
Dołączył: 21.08.2009
Skąd: Gdynia

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


przecież masz treść błędu - nie dostarczyłeś zasobu obrazu do funkcji, sprawdź czy ten plik jest zapisywany tam gdzie ma być, albo czy w ogóle został przesłany

poza tym typ obrazka sprawdzaj funkcją getimagesize()

Ten post edytował tehaha 14.06.2010, 16:38:54
Go to the top of the page
+Quote Post
renault12
post
Post #3





Grupa: Zarejestrowani
Postów: 147
Pomógł: 0
Dołączył: 9.01.2010

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


nawet z tak dokładnymi wartościami
  1. <? $target_pic = imagecopyresized(imagecreatetruecolor(150,150), "obrazy/tlo.jpg", 0, 0, 0, 0, 150, 150, 980, 957); ?>
jest ten sam błąd
Go to the top of the page
+Quote Post
tehaha
post
Post #4





Grupa: Zarejestrowani
Postów: 1 748
Pomógł: 388
Dołączył: 21.08.2009
Skąd: Gdynia

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


bo zasób obrazu to nie jest ścieżka do obrazu, zasób obrazu tworzy się np. funkcją imagecreatefromjpeg() i dopiero tak utworzony zasób obrazu podajesz jako parametr do imagecopyresized() A NIE ŚCIEŻKĘ DO PLIKU

w pierwszym poście miałeś dobrze tylko upewnij się, czy ten zasób jest tworzony daj na górze print_r($_FILES), bo może wcale obrazka nie przesyłasz, albo może zmienna $source_id jest pusta

Ten post edytował tehaha 14.06.2010, 17:08:40
Go to the top of the page
+Quote Post
renault12
post
Post #5





Grupa: Zarejestrowani
Postów: 147
Pomógł: 0
Dołączył: 9.01.2010

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


hmm sam zobacz przy tym kodzie:

  1. if (isset($_POST['wyslij'])) {
  2. $szer = $_POST['szer'] * 0.5;
  3. $wys = $_POST['wys'] * 0.5;
  4. $file = $_FILES['obraz'];
  5. $filesize = $file['size'];
  6. $filename = "obrazy/" . $file['name'];
  7. move_uploaded_file($_FILES["obraz"]["tmp_name"],
  8. "obrazy/" . $_FILES["obraz"]["name"]);
  9. $typ = $_FILES['obraz']['type'];
  10. if ($typ == "image/jpeg") {
  11. $source_id = imagecreatefromjpeg("obrazy/" . $_FILES["obraz"]["name"]);
  12. }
  13. if ($typ == "image/png") {
  14. $source_id = imagecreatefrompng("obrazy/" . $_FILES["obraz"]["name"]);
  15. }
  16. if ($typ == "image/gif") {
  17. $source_id = imagecreatefromgif("obrazy/" . $_FILES["obraz"]["name"]);
  18. }
  19. if ($typ == "image/bmp") {
  20. $source_id = imagecreatefromwbmp("obrazy/" . $_FILES["obraz"]["name"]);
  21. }
  22. list($szerokosc, $wysokosc) = getimagesize($filename);
  23. $thumb = imagecreatetruecolor($szer, $wys);
  24. $target_pic = imagecopyresized($thumb, $source_id, 0, 0, 0, 0, $szer, $wys, $szerokosc, $wysokosc);
  25. imagejpeg($thumb);
  26. echo "<br/><br/>1." . print_r($thumb) . "<br/>";
  27. print_r($_FILES['name']);
  28. print_r($_FILES);
  29. }


jest to = http://tomstoys.zxy.me/resizer.php
Na końcu są wartości zwracane.

To co zwraca print_r($_files) to
Array ( [obraz] => Array ( [name] => ruda.png [type] => image/png [tmp_name] => /tmp/php6Ov0d7 [error] => 0 [size] => 6755 ) )
Go to the top of the page
+Quote Post

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 - 04:15