Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Formularz do upload'u, raz dziala raz nie
Polik
post
Post #1





Grupa: Zarejestrowani
Postów: 87
Pomógł: 0
Dołączył: 11.12.2003

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


Witam!

W koncu po dlugich poszukiwaniach w necie, i godzinami spedzonymi prze monitorem udalo mi sie stworzyc skrypt do uploadu obrazkow. Testowalem go na dwoch serwerach. Na jednym dziala na drugim nie. Jak sie okazalo problem jest w formularzu z inputem od nazwy pliku docelowego. Nie przesyla nazwy pliku przez co obrazek nie ma nazwy i sie nie zapisuje. Tak wyglada formularz:

  1. <form enctype="multipart/form-data" action="load01.php" method="POST">
  2. <input name="uploadfile" type="file" />
  3. <input name="nazwa" type="text" />
  4. <input type="submit" value="Wyślij plik" />
  5. </form>


Domyslam sie, ze problem mozy byc z tego powodu "multipart/form-data", ze jest to formularz do przesylania danych nie textow. Ale dlaczego na jednym serwerze dziala a na drugim juz nie?

Wiecie w jaki sposob przeslac i obrazek i teksty?
Pozdrawiam i z gory dziekuje za pomoc!
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Polik
post
Post #2





Grupa: Zarejestrowani
Postów: 87
Pomógł: 0
Dołączył: 11.12.2003

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


Formularz:

  1. <form enctype="multipart/form-data" action="load01.php" method="POST">
  2. <input name="uploadfile" type="file" />
  3. <input name="nazwa" type="text" />
  4. <input type="submit" value="Wyślij plik" />


Kod uploadera:

  1. <?php
  2. header('Content-type: image/jpeg'); 
  3.  
  4. echo $nazwa;
  5.  
  6. $nowa_nazwa = "".$nazwa.".jpg";
  7. $nowa_nazwas = "".$nazwa."s.jpg";
  8.  
  9. if (!is_uploaded_file($_FILES['uploadfile']['tmp_name']))
  10. {
  11. //error: gdyby nie podano zadnego pliku do uploadu
  12. $error = "Nie podales zadnego pliku!";
  13. unlink($_FILES['uploadfile']['tmp_name']);
  14. }
  15. else
  16. {
  17. //plik zostal upload''owany
  18. $maxfilesize=300000;
  19.  
  20. if ($_FILES['uploadfile']['size'] > $maxfilesize)
  21. {
  22. //error: gdyby plik byl za duzy (3MB)
  23. $error = "Plik za duzo zajmuje!";
  24. unlink($_FILES['uploadfile']['tmp_name']);
  25. }
  26. else
  27. {
  28. //gdyby plik byl za duzy pomniejszamy go i robimy miniaturke
  29. list($width, $height) = getimagesize($filename);
  30. if($width > 700 || $height > 900)
  31. {
  32. //skalujemy duzy obrazek
  33. scaling($_FILES['uploadfile']['tmp_name'], $nowa_nazwa, 640, 100);
  34.  
  35. //robimy miniaturke
  36. scaling($_FILES['uploadfile']['tmp_name'], $nowa_nazwas, 100, 50);
  37. }
  38. else
  39. {
  40. //plik spelnia warunki wielkosci wiec go wgrywamy na serwer
  41. $pliczek = $_FILES['uploadfile']['tmp_name'];
  42. copy($pliczek,$nowa_nazwa);
  43.  
  44. //robimy miniaturke  
  45. scaling($pliczek, $nowa_nazwas, 100, 50);
  46. print "Plik zostal wgrany prawidlowo!";
  47. } 
  48. }
  49. }
  50.  
  51. //pozbywamy sie uchwytu
  52. unlink($_FILES['uploadfile']['tmp_name']);
  53.  
  54. //funkcjia do skalowania, przyjmuje uchwyt do pliku, nazwe do pliku i szerokosc zd
    jecia
  55. function scaling($filename , $nazwa, $rozmiar, $jakosc) 
  56. {
  57. //tworzy nowy obrazek zeby mozna bylo skalowac
  58. $image = imagecreatefromjpeg($filename);
  59.  
  60. //pobieramy gabaryty oryginalnego zdjecia
  61. list($width, $height) = getimagesize($filename);
  62.  
  63. //ustawiamy nowe parametry szerokosci i wysokosci
  64. $nowa_height = ($height/$width)*$rozmiar;
  65.  
  66. $new_width = $rozmiar;
  67. $new_height = $nowa_height;
  68.  
  69. //tworzymy nowy obrazek
  70. $image_p = imagecreatetruecolor($new_width, $new_height);
  71.  
  72. //funkcja ktora pod nowy obrazek wstawia ten stary tylko ze zeskalowany
  73. imagecopyresampled($image_p, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
  74.  
  75. //zapisanie nowego pliku o okreslonej nazwie i jakosci
  76. imagejpeg($image_p, $nazwa, $jakosc);
  77.  
  78. //zniszczenie niepotrzebnych zmiennych
  79. imagedestroy($image_p);
  80. imagedestroy($image);
  81. }
  82. ?>


(IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post

Posty w temacie


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: 2.10.2025 - 12:17