Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP] Problem z uploadem zdjecia na serwer
Ravik
post 20.02.2010, 10:42:40
Post #1





Grupa: Zarejestrowani
Postów: 95
Pomógł: 3
Dołączył: 8.05.2009

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


Witam,

Otóż mam klasę, która odpowiada za uploadowanie zdjęcia na serwer i przesłaniu do mysqla o tym informacji, za to odpowiada klasa napisania poniżej, ale niestety nie działa, kiedy przesyłam plik za pomocą formularza, wyskakuje po prostu białe tło, plik nie został dodany, a w mysqlu nie pojawiła się informacja. Proszę o nakierowanie na to co zrobiłem źle.

class.Uploader.php
  1. <?php
  2. class ImageUploader {
  3.  
  4. var $name;
  5. var $type;
  6. var $size;
  7. var $temp;
  8. var $image;
  9. var $blad;
  10. var $max_rozmiar;
  11. var $category;
  12.  
  13. function init() {
  14. global $_FILES;
  15.  
  16. $this -> blad = $_FILES['userfile']['error'];
  17. if($this -> blad != 0)
  18. {
  19. $error = 'PHP zwrócił następuący błąd: '.$this -> blad;
  20. return FALSE;
  21. }
  22. $this -> name = $_FILES['userfile']['name'];
  23. $this -> type = $_FILES['userfile']['type'];
  24. $this -> size = $_FILES['userfile']['size'];
  25. $this -> temp = $_FILES['userfile']['tmp_name']; /* 1 */
  26. $this -> max_rozmiar = 8192;
  27. return TRUE;
  28. }
  29.  
  30. function validate() {
  31.  
  32. if($this -> type !='image/gif' && $this -> type !='image/pjpeg' && $this->type !='png') /* 2 */
  33. {
  34. $error ="To nie jest poprawny format obrazka (dopuszczalne rozszerzenia gif,jpg,jpeg,png)";
  35. return FALSE;
  36. }
  37.  
  38. if($this -> size >= $max_rozmiar)
  39. {
  40. $error= "Plik jest za duży. Dopuszczalny rozmiar to: $max_rozmiar";
  41. return FALSE;
  42. }
  43.  
  44.  
  45. $rozmiar = getimagesize($this -> temp);
  46. if($rozmiar[1]>2560 || $rozmiar[2]>1280)
  47. {
  48. $error = 'Wgrywanie tego zdjecia może trochę potrwać... Czekaj...';
  49. return TRUE;
  50. }
  51. return TRUE;
  52. }
  53.  
  54. function savefile($id) {
  55.  
  56. global $forum;
  57. global $db;
  58. if (!$fh = fopen($this-> temp, "r"))
  59. {
  60. $error = 'Nie można otworzyć pliku z katalogu tymczasowego';
  61. return FALSE;
  62. }
  63. $this -> image = addslashes(fread($fh, $this -> size));
  64. $db -> query("INSERT INTO zdjecia ('byte', 'image_type', 'category') VALUES('".$this -> image."','".$this -> type."','".$this -> category."'");
  65. return TRUE;
  66. }
  67. }
  68.  
  69.  
  70. ?>


upload.php

  1. <?php
  2. require_once ("config.php");
  3. require_once ("class.Uploader.php");
  4.  
  5. $db = @new db($host, $nazwabazy, $user, $pass);
  6.  
  7. if($img -> init())
  8. {
  9. if($img -> validate())
  10. {
  11. if($img -> savefile())
  12. {
  13. echo 'Twój obrazek został pomyślnie zapisany.';
  14.  
  15. }
  16. }
  17. }
  18. ?>


dla formalnośći index.html

  1. <form action="upload.php" method="post" enctype="multipart/form-data" accept="image/gif, image/jpeg, image/png">
  2. <input type="hidden" name="MAX_FILE_SIZE" value="8192">
  3. Dodaj zdjecie: <input name="userfile" type="file">
  4. <br /><input type="submit" value="Wgraj">
  5. </form>


Pozdrawiam,
Ravik
Go to the top of the page
+Quote Post

Posty w temacie


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: 18.07.2025 - 01:01