Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php][html]Resize zdjęcia i błędy
Forum PHP.pl > Forum > Przedszkole
redelek
Witam,

Robię sobie taki kodzik

  1. <?php
  2. function resize_pic($nazwa_pliku, $nowy_plik, $katalog, $nowaW, $nowaH) {
  3.  
  4. $image_type = strstr($nazwa_pliku, '.'); //sprawdzamy naglówek pliku
  5. switch($image_type) { //szukamy czy zgada się z naszym opcjami
  6.  case '.jpg':
  7.  $zrodlo = imagecreatefromjpeg($nazwa_pliku);
  8.  break;
  9.  case '.png':
  10.  $zrodlo = imagecreatefrompng($nazwa_pliku);
  11.  break;
  12.  case '.gif':
  13.  $zrodlo = imagecreatefromgif($nazwa_pliku);
  14.  break;
  15. /* case '.bmp':
  16.  $zrodlo = imagecreatefromwbmp($nazwa_pliku);
  17.  break;*/
  18.  default:
  19.  echo("Nieznany typ obrazka :(");
  20. die;
  21. break;
  22.  }
  23.  
  24. $plik = $nowy_plik . $nazwa_pliku;
  25. $pelna_sciezka = $katalog . $plik;
  26. list($width, $height) = getimagesize($nazwa_pliku);
  27. $miniaturka = imagecreatetruecolor($nowaW, $nowaH);
  28. imagecopyresized($miniaturka, $zrodlo, 0, 0, 0, 0, $nowaW, $nowaH, $width, $height);
  29. imagejpeg($miniaturka, $pelna_sciezka, 90);
  30. $sciezka_do_pliku = $pelna_sciezka;
  31. return $sciezka_do_pliku;
  32.  
  33. }
  34. ?>

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-
  2. transitional.dtd">
  3. <meta http-equiv="Content-type" content="text/html; charset=iso-8859-2" />
  4. <title>Upload</title>
  5. </head>
  6.  
  7. <div>
  8. <form enctype="multipart/form-data" action="rezize2.php" method="POST">
  9.  
  10. <input name="plik" type="file" />
  11. <input type="submit" value="Wyślij plik" />
  12. </form>
  13. </div>
  14.  
  15. [php]
  16.  
  17. $plik_tmp = $_FILES['plik']['tmp_name'];
  18. $plik_nazwa = $_FILES['plik']['name'];
  19. $plik_rozmiar = $_FILES['plik']['size'];
  20.  
  21. if(is_uploaded_file($plik_tmp)) {
  22. move_uploaded_file($plik_tmp, "orginal/$plik_nazwa");
  23. resize_pic($plik_nazwa,"tumb/$plik_nazwa",'450','350');
  24. echo "Plik: <strong>$plik_nazwa</strong> o rozmiarze
  25. <strong>$plik_rozmiar bajtów</strong> został przesłany na serwer!";
  26. }
  27. [/php]
  28. </body>


Mam takie błędy
Warning: Missing argument 5 for resize_pic(), called in C:\wamp\www\image size\rezize2.php on line 62 and defined in C:\wamp\www\image size\rezize2.php on line 2

Warning: imagecreatefromjpeg(3270-1.jpg) [function.imagecreatefromjpeg]: failed to open stream: No such file or directory in C:\wamp\www\image size\rezize2.php on line 7

Warning: getimagesize(3270-1.jpg) [function.getimagesize]: failed to open stream: No such file or directory in C:\wamp\www\image size\rezize2.php on line 26

Warning: imagecreatetruecolor() [function.imagecreatetruecolor]: Invalid image dimensions in C:\wamp\www\image size\rezize2.php on line 27

Warning: imagecopyresized(): supplied argument is not a valid Image resource in C:\wamp\www\image size\rezize2.php on line 28

Warning: imagejpeg(): supplied argument is not a valid Image resource in C:\wamp\www\image size\rezize2.php on line 29
Plik: 3270-1.jpg o rozmiarze 225414 bajtów został przesłany na serwer!

Samo w sobie wszystko działa, pliki potrafią się zmniejszać. Chodzi mi o to że jak wysyłam plik to jeden ma się zachować w folderku orginal, a ten zmniejszony w folderku tumb. Niestety powstaje tylko orginał.

Zobaczcie fachowym okiem może coś nakopałem i da radę to łatwo usunąć

Redelek
nospor
Wytlumacz mi prosze czego nie rozumiesz w tym komunikacie:
"Warning: Missing argument 5 for resize_pic(),"
?
Do pieciu nie umiesz liczyc czy jak? Zjadles jeden parametr przy wywolaniu tamtej funkcji.
redelek
Cytat(nospor @ 25.01.2008, 16:03:26 ) *
Wytlumacz mi prosze czego nie rozumiesz w tym komunikacie:
"Warning: Missing argument 5 for resize_pic(),"
?
Do pieciu nie umiesz liczyc czy jak? Zjadles jeden parametr przy wywolaniu tamtej funkcji.


Oki powolutku. Do pięciu umiem liczyć i to bez problemu . O proszę 1..5 i po sprawie. To chyba grupa dla "Przedszkole" tak czyli mogę proste pytania zadawać TAK?

Dobra bardzo dziękuję za taką pomoc PUCHCIU
nospor
Cytat
To chyba grupa dla "Przedszkole" tak czyli mogę proste pytania zadawać TAK?
Nie, proste pytania to byś mogl w żlobku zadawac. Skoro ci php wyrzucił jak wół na ekran informacje co jest nie tak to czemu tego nie przetrawisz tylko na forum lecisz? Troche samodzielnosci tongue.gif

Cytat
Dobra bardzo dziękuję za taką pomoc
To juz nie wiem... rozwiązales to wkoncu czy nie?
  1. <?php
  2. 1 2 4  5  
  3. resize_pic($plik_nazwa,"tumb/$plik_nazwa",'450','350');//widzisz. brakuje 3. wg. komunikatu brakuje 5, ale wydaje mi sie ze ty zjadles sr
    odek
  4. ?>

Wywolales to z 4 parametrami, a ta funkcja w definicji wymaga pięciu parametrów (1,2,3,4,5 - pisze dla pewnosci bo Twoje 1..5 mnie nie przekonalo)
  1. <?php
  2. 1 2 3  4 5
  3. function resize_pic($nazwa_pliku, $nowy_plik, $katalog, $nowaW, $nowaH) {
  4. ?>

Widzisz, tobie przy wywolaniu brakuje jednego parametru. pierwszy zakladam to: $plik_nazwa, drugi to "tumb/$plik_nazwa", trzeciego (katalog nie ma) a potem szerokosc i wysokosc masz. Proste.
redelek
Cytat(nospor @ 25.01.2008, 16:22:24 ) *
To juz nie wiem... rozwiązales to wkoncu czy nie?


Nie nadal walczę problem jest w tym, że jak resize mam w oddzielnym pliku to ładnie zmniejsza. Mi chodzi o to by za jednym razem wysłać orginal i miniaturkę przy czym każde do innego folderku.
O tych 5 parametrach to "zjadłem jeden", ale nie nie robi miniaturki pomimo 5 parametrów:(
I tu mam problem


Redelek
nospor
Cytat
O tych 5 parametrach to "zjadłem jeden", ale nie nie robi miniaturki pomimo 5 parametrów:(
To skoro juz to poprawiles, to pokaz nowe bledy o ile takie są. Pokaz rowniez kod po poprawkach, bo czesto sie zdarza ze te poprawki sa nie teges winksmiley.jpg
redelek
To ja

No tak mnie nospor zmobilizował że zrobiłem i działa.

Jeśli komuś się przyda lub chce poprawić to proszę bardzo.

  1. function resize_pic($nazwa_pliku, $nowaW, $nowaH) {
  2. $dir_orginal="orginal/";
  3. $dir="tumb/";
  4. $image_type = strstr($nazwa_pliku, '.'); //sprawdzamy naglówek pliku
  5. switch($image_type) { //szukamy czy zgada się z naszym opcjami
  6.  case '.jpg':
  7.  $zrodlo = imagecreatefromjpeg($dir_orginal.$nazwa_pliku);
  8.  break;
  9.  case '.png':
  10.  $zrodlo = imagecreatefrompng($dir_orginal.$nazwa_pliku);
  11.  break;
  12.  case '.gif':
  13.  $zrodlo = imagecreatefromgif($dir_orginal.$nazwa_pliku);
  14.  break;
  15. /* case '.bmp':
  16.  $zrodlo = imagecreatefromwbmp($nazwa_pliku);
  17.  break;*/
  18.  default:
  19.  echo("Nieznany typ obrazka :(");
  20. die;
  21. break;
  22.  }
  23.  
  24.  
  25. $pelna_sciezka = $dir.$nazwa_pliku;
  26. list($width, $height) = getimagesize($dir_orginal.$nazwa_pliku);
  27. $miniaturka = imagecreatetruecolor($nowaW, $nowaH);
  28. imagecopyresized($miniaturka, $zrodlo, 0, 0, 0, 0, $nowaW, $nowaH, $width, $height);
  29. imagejpeg($miniaturka, $pelna_sciezka, 90);
  30. //$sciezka_do_pliku = $pelna_sciezka;
  31. return $pelna_sciezka;
  32.  
  33. }
  34.  
  35. ?>
  36.  
  37. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-
  38. transitional.dtd">
  39. <html>
  40. <head>
  41. <meta http-equiv="Content-type" content="text/html; charset=iso-8859-2" />
  42. <title>Upload</title>
  43. </head>
  44. <body>
  45.  
  46. <div>
  47. <form enctype="multipart/form-data" action="rezize2.php" method="POST">
  48.  
  49. <input name="plik" type="file" />
  50. <input type="submit" value="Wyślij plik" />
  51. </form>
  52. </div>
  53.  
  54.  
  55. <?php
  56. //Unable to open 'tumb/orginal/13087-1.png
  57. $plik_tmp = $_FILES['plik']['tmp_name'];
  58. $plik_nazwa = $_FILES['plik']['name'];
  59. $plik_rozmiar = $_FILES['plik']['size'];
  60.  
  61. if(is_uploaded_file($plik_tmp)) {
  62.  move_uploaded_file($plik_tmp, "orginal/$plik_nazwa");
  63.  resize_pic($dir.$plik_nazwa,'450','350');
  64. echo "Plik: <strong>$plik_nazwa</strong> o rozmiarze 
  65. <strong>$plik_rozmiar bajtów</strong> został przesłany na serwer!";
  66. }
  67. ?> 
  68. </body>
  69. </html>
trike
a czemu po uzyciu kodu z ostatniego postu tworzy mi miniaturki, ale sa czarne całe sad.gif
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.