Pomoc - Szukaj - Uytkownicy - Kalendarz
Pena wersja: [MySQL][PHP]problem z uploadem plikow do bazy danych
Forum PHP.pl > Forum > Przedszkole
michat34
witam, mam w db tabele a w niej 2 pola INT(A_I) oraz BLOB.
i chcialbym zeby byla opcja wgrywania plikow do bazy danych (susznosc tego rozwiazania, zostawmy..). kod jest taki, ale nie dziaa:

  1. <form enctype="multipart/form-data" action="test.php" method="post" >
  2. <input type="hidden" name="MAX_FILE_SIZE" value="512000" />
  3. <input type="file" name="obrazek" />
  4. <input type="submit" name="ok" value="wylij" />
  5. </form>


  1. <?php
  2. require('_baza.php');
  3. if (isset($_POST['ok']))
  4. {
  5. $fileName = $_FILES['obrazek']['name'];
  6. $tmpName = $_FILES['obrazek']['tmp_name'];
  7. $fileSize = $_FILES['obrazek']['size'];
  8. $fileType = $_FILES['obrazek']['type'];
  9. echo 'TMP: '.$tmpName.'<br>';
  10.  
  11. $fp = fopen($tmpName, 'r');
  12. $content = fread($fp, filesize($tmpName));
  13. $content = addslashes($content);
  14. fclose($fp);
  15.  
  16. echo 'CONTENT: '.$content.'<br>';
  17. $stmt=$pdo->exec("INSERT INTO photos (for) VALUES ('$content')");
  18. echo 'Sukces';
  19. }
  20.  


te 'echa' sa dla mnie sprawdzeniem czy wszystko chodzi. upload przykdowego pliku zwraca:

  1. TMP: /users/michat34/temp/phpAVEDg0
  2. CONTENT: PNG  IHDR8GM! pHYs  tIME -QiTXtCommentCreated with GIMPd.eIDATXõWIr! ۲rHMz/Z $-'\; {|5\3N { D%p+-p{X t:غk=؇+SOZ΍35U;F]YFD5 %{.(7`Ի΁.c-hDžW? |25g;ω/]ãW ZU vcQLbs{Vcf? qg.\;USwV_ᘊg~0+,и5hbv]+{?|'׉2V]9{'^Kӿ4t/0:5Q6\5 q|Hr'_dxLS/5 `LGgO+1]>zq\wq=Wt u-O+5㥎O+aK?el/kFm1r{_ov?[?XK ,qf^s&Y#vgui~cC'I>sj}F8r-ĕW/yu تYo98 yeuE_x2]ǘ|cPs̓`s1\Ls.Ԝy
    /cι6tKɎv7_K͎tz묓3R{pz3Ѿ /=j36L5 "IENDB`
  3. Sukces


co nalezy poprawic (chodzi mi o sam kod, wiem ze nalezy tez zaimplentowac funkcje sprawdzjace typ mime i reszte ale to pozniej)
jaslanin
1. sprawd co to jest SQL INJECTION
2. wstawie content do zapytania by uzyska bd i po nim sprawdzi z czym problem?
3. musisz escape'owa dane z zapytania tj. Twj plik zawiera znaki ' (apostrof ktre psuj zapytanie), zmiana na " (cytat te nic nie zmieni)

rozwizanie:
http://php.net/manual/en/pdo.prepare.php
http://php.net/manual/en/pdostatement.execute.php
To jest wersja lo-fi gwnej zawartoci. Aby zobaczy pen wersj z wiksz zawartoci, obrazkami i formatowaniem prosz kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.