Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MYSQL] pobranie pliku z bazy
Forum PHP.pl > Forum > Przedszkole
shiba
Witam, problem dotyczy poniższego skryptu, a mianowicie skrypt dodaje plik do bazy natomiast jak go pobieram z bazy i chcę wyświetlić otwiera się ale nie ma w nim żadnego tekstu, tzn czyści zawartość pliku ... skrypt poniżej:

tabela pliki
  1. CREATE TABLE `pliki` (
  2. `id_plik` int AUTO_INCREMENT,
  3. `plik` mediumblob,
  4. `nazwa` varchar(32),
  5. `typ` varchar(32),
  6. `rozmiar` int,
  7. PRIMARY KEY (`id_plik`)
  8. );


form:
  1. <form action="plik.php" method="POST" enctype="multipart/form-data">
  2. <input type="file" name="plik">&nbsp;<input type="submit" value="wyślij plik">
  3. </form>


plik.php
  1. <?php
  2. if (isset($_FILES['plik']))
  3. {
  4. if ($_FILES['plik']['error']==UPLOAD_ERR_OK)
  5.  {
  6.   $nazwapliku=$_FILES['plik']['name'];      
  7.   $typpliku=$_FILES['plik']['type'];      
  8.   $rozmiarpliku=$_FILES['plik']['size'];      
  9.   $srcplik=$_FILES['plik']['tmp_name'];  
  10.  
  11.   if ($typpliku=="application/msword" || $typpliku=="application/pdf" ||
  12.       $typpliku=="text/html" || $typpliku=="application/rtf" ||
  13.       $typpliku=="application/vnd.oasis.opendocument" || $typpliku=="text/plain" )
  14.       {
  15.         $plik=fopen($srcplik,"r"); //otwórz ten plik w trybie do odczytu
  16.         $mysqlplik = addslashes(fread($plik,$rozmiarpliku));
  17.         fclose($plik);    
  18.         unlink($srcplik);
  19.         $mysqltyppliku = addslashes($typpliku);
  20.         $mysqlnazwapliku = addslashes($nazwapliku);
  21.         $conn=mysql_connect("localhost","root","xxx")
  22.         or die ('Błąd połączenia z bazą MySQL: '.mysql_error());
  23.         $result2=mysql_select_db("xxx",$conn)
  24.         or die ('Błąd podczas wyboru bazy: '. mysql_error());
  25.         $sql1="INSERT INTO pliki (id_plik,plik,nazwa,typ,rozmiar)VALUES
  26.         ('','$mysqlplik','$mysqlnazwapliku','$mysqltyppliku','$rozmiarpliku')";
  27.        
  28.        if($result1=mysql_query($sql1,$conn))
  29.         echo('Twój plik został zapisany do bazy danych MySQL');
  30.         else
  31.         echo('Błąd wykonania zapytania 1: '. mysql_error());
  32.   }
  33.   else {die("Twój plik nie został zapisany w bazie, bo jest innego formatu niż:
  34. pdf,doc,txt,html,rtf !!!"); exit;}
  35. }
  36. else {die("Błąd podczas wysyłania pliku !!!"); exit;}
  37. }
  38. else {die("Nie wskazano pliku do wysłania !!!"); exit;}
  39. ?>


pplik.php - pobranie pliku wskazujac konkretnie ktory
  1. <?php
  2. $conn=mysql_connect("localhost","root","xxx") or die ('Błąd połączenia z bazą MySQL: '.mysql_error());
  3. $result1=mysql_select_db("xxx",$conn) or die ('Błąd podczas wyboru bazy: '. mysql_error());
  4. $sql1="select * from pliki where id_plik='2'";
  5. $result2=mysql_query($sql1,$conn) or die ('Błąd wykonania zapytania 1: '.mysql_error());
  6. $row = mysql_fetch_assoc($result2);
  7. $pliczek=$row['plik'];
  8. $nazwapliku=$row['nazwa'];
  9. $typpliku=$row['typ'];
  10. $rozmiarpliku=$row['rozmiar'];
  11. header("Content-Type:$typpliku");
  12. header("Content-Length: $rozmiarpliku");
  13. header("Content-Disposition: attachment; filename=$nazwapliku");
  14. //print $pliczek;
  15. die();
  16. ?>


w czym może być problem?
-nowy-
sprawdz z polem w bazie
rozmiar pliku varchar
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.