Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [SQLite][PHP]Pliki w bazie danych
redelek
post
Post #1





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

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


Witam,

Chciałbym dodawać pliki do bazy danych (wiem, że to nie tak się robi), ale na moje potrzeby to dobre rozwiązanie.
Wgrywam plik do bazy danych tak:
  1. $category=stripslashes( trim($_POST['fcategory']));
  2. $file=$_FILES['ffile'];
  3. $filename = $_FILES['ffile']['name'];
  4. $filenametmp = $_FILES['ffile']['tmp_name'];
  5. $filetype = $_FILES['ffile']['type'];
  6. $filesize = $_FILES['ffile']['size'];
  7. $mimetype = get_mime_type($filename);
  8. $db = new MyDB();
  9. if(!$db) {
  10. echo $db->lastErrorMsg();
  11. } else {
  12.  
  13. $queryadd=$db->query("INSERT INTO hdf (id, category, dateadd, mimetype, file, filesize, stat) VALUES (NULL, '$category', DATETIME('now','localtime'), '$mimetype', '$filename', '$filesize', '0')");
  14. if ($queryadd==FALSE) {
  15. echo "Error in fetch ".$db->lastErrorMsg();
  16. } else {
  17. echo "<strong>Record added successfully<br /></strong>";
  18.  
  19. }
  20. }
  21.  
  22. $db->close();


Plik dodaje się do bazy , jest jego pojemność pole file jest typu BLOB. Teraz pobieranie danych
  1. if(!$db) {
  2. echo $db->lastErrorMsg();
  3. } else {
  4. while ($row = $query->fetchArray(SQLITE3_ASSOC)) {
  5. //header("Content-Type:" . $row['mimetype']);
  6. echo $row['id']." ".$row['file']." <a download href=down.php?file=".$row['file']."&mime=".$row['mimetype']."> Download this file</a><br />";
  7. //echo "<a download href=\"file/{$row['file']}\">Download this file</a>";
  8. }
  9. }


plink down.php wygląda tak

  1. $file=stripslashes( trim($_GET['file']));
  2. $mime=stripslashes( trim($_GET['mime']));
  3.  
  4. header("Content-Type: " . $mime);
  5. header("Content-Disposition: attachment; filename=\"" . $file . "\"");
  6. readfile($file);


Problem w tym, że jak kliknę pobież to przeglądarka pobiera plik, ale nie jestem w stanie go otworzyć, bo dostaję informację, że plik jest uszkodzony. Jak go wgrywam ma 1,8M, jak pobieram ma 188B więc coś nie tak.
Czy mogę prosić o pomoc, może źle go pobieram, no już sam nie wiem i się zaplątałem


--------------------
Pozdrawiam
Piotrek R
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 Aktualny czas: 19.08.2025 - 04:13