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
CREATE TABLE `pliki` (
`id_plik` int AUTO_INCREMENT,
`plik` mediumblob,
`nazwa` varchar(32),
`typ` varchar(32),
`rozmiar` int,
PRIMARY KEY (`id_plik`)
);
form:
<form action="plik.php" method="POST" enctype="multipart/form-data"> <input type="file" name="plik"> <input type="submit" value="wyślij plik">
plik.php
<?php
if (isset($_FILES['plik'])) {
if ($_FILES['plik']['error']==UPLOAD_ERR_OK)
{
$nazwapliku=$_FILES['plik']['name'];
$typpliku=$_FILES['plik']['type'];
$rozmiarpliku=$_FILES['plik']['size'];
$srcplik=$_FILES['plik']['tmp_name'];
if ($typpliku=="application/msword" || $typpliku=="application/pdf" ||
$typpliku=="text/html" || $typpliku=="application/rtf" ||
$typpliku=="application/vnd.oasis.opendocument" || $typpliku=="text/plain" )
{
$plik=fopen($srcplik,"r"); //otwórz ten plik w trybie do odczytu $sql1="INSERT INTO pliki (id_plik,plik,nazwa,typ,rozmiar)VALUES
('','$mysqlplik','$mysqlnazwapliku','$mysqltyppliku','$rozmiarpliku')";
echo('Twój plik został zapisany do bazy danych MySQL'); else
}
else {die("Twój plik nie został zapisany w bazie, bo jest innego formatu niż: pdf,doc,txt,html,rtf !!!"); exit;} }
else {die("Błąd podczas wysyłania pliku !!!"); exit;} }
else {die("Nie wskazano pliku do wysłania !!!"); exit;} ?>
pplik.php - pobranie pliku wskazujac konkretnie ktory
<?php
$sql1="select * from pliki where id_plik='2'";
$pliczek=$row['plik'];
$nazwapliku=$row['nazwa'];
$typpliku=$row['typ'];
$rozmiarpliku=$row['rozmiar'];
header("Content-Type:$typpliku"); header("Content-Length: $rozmiarpliku"); header("Content-Disposition: attachment; filename=$nazwapliku"); //print $pliczek;
?>
w czym może być problem?