Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php][html]Resize zdjęcia i błędy, Podczas wysyłania pliku na serwer pokazują się błędy
redelek
post
Post #1





Grupa: Zarejestrowani
Postów: 658
Pomógł: 37
Dołączył: 4.06.2005
Skąd: Wawa

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


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


--------------------
Pozdrawiam
Piotrek R
Go to the top of the page
+Quote Post
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




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.


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
redelek
post
Post #3





Grupa: Zarejestrowani
Postów: 658
Pomógł: 37
Dołączył: 4.06.2005
Skąd: Wawa

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


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


--------------------
Pozdrawiam
Piotrek R
Go to the top of the page
+Quote Post
nospor
post
Post #4





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




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.


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
redelek
post
Post #5





Grupa: Zarejestrowani
Postów: 658
Pomógł: 37
Dołączył: 4.06.2005
Skąd: Wawa

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


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


--------------------
Pozdrawiam
Piotrek R
Go to the top of the page
+Quote Post
nospor
post
Post #6





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




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


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
redelek
post
Post #7





Grupa: Zarejestrowani
Postów: 658
Pomógł: 37
Dołączył: 4.06.2005
Skąd: Wawa

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


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>


Ten post edytował redelek 25.01.2008, 17:06:46


--------------------
Pozdrawiam
Piotrek R
Go to the top of the page
+Quote Post
trike
post
Post #8





Grupa: Zarejestrowani
Postów: 82
Pomógł: 9
Dołączył: 9.01.2008

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


a czemu po uzyciu kodu z ostatniego postu tworzy mi miniaturki, ale sa czarne całe sad.gif
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 Aktualny czas: 20.08.2025 - 05:31