IdPlik:int
Plik: MEDIUMBLOB
Nazwa:char
Typ:char
Rozmiar:char
Utworzyłam skrypty:
1. odpowiedzialny za dodanie pliku do bazy DZIALA w sumie dobrze
Cytat
<?PHPif (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
$mysqlplik = addslashes(fread($plik,$rozmiarpliku));
fclose($plik);
unlink($srcplik);
$mysqltyppliku = addslashes($typpliku);
$mysqlnazwapliku = addslashes($nazwapliku);
$conn=mysql_connect("localhost","root","") or die ('Błąd połączenia z bazą MySQL:'.mysql_error());
$result2=mysql_select_db("farmacja",$conn) or die ('Błąd podczas wyboru bazy: '. mysql_error());
$sql1="INSERT INTO pliki (Idplik,plik,typ,nazwa,rozmiar)VALUES ('','$mysqlplik','$mysqltyppliku','$mysqlnazwapliku','$rozmiarpliku')";
if($result1=mysql_query($sql1,$conn))
echo('Twój plik został zapisany do bazy danych MySQL');
else
echo('Błąd wykonania zapytania 1: '. mysql_error());
}
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;}
?>
{
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
$mysqlplik = addslashes(fread($plik,$rozmiarpliku));
fclose($plik);
unlink($srcplik);
$mysqltyppliku = addslashes($typpliku);
$mysqlnazwapliku = addslashes($nazwapliku);
$conn=mysql_connect("localhost","root","") or die ('Błąd połączenia z bazą MySQL:'.mysql_error());
$result2=mysql_select_db("farmacja",$conn) or die ('Błąd podczas wyboru bazy: '. mysql_error());
$sql1="INSERT INTO pliki (Idplik,plik,typ,nazwa,rozmiar)VALUES ('','$mysqlplik','$mysqltyppliku','$mysqlnazwapliku','$rozmiarpliku')";
if($result1=mysql_query($sql1,$conn))
echo('Twój plik został zapisany do bazy danych MySQL');
else
echo('Błąd wykonania zapytania 1: '. mysql_error());
}
else {die("Twój plik nie został zapisany w bazie, bo jest innego formatu niż: pdf,doc,txt,html,rtf

}
else {die("Błąd podczas wysyłania pliku

}
else {die("Nie wskazano pliku do wysłania

?>
2.pobieram plik z bazy i mam mozliwosc zapisania go na dysku (nie dziala)
Cytat
<?PHP
$conn=mysql_connect("localhost","root","") or die ('Błąd połączenia z bazą MySQL: '.mysql_error());
$result1=mysql_select_db("farmacja",$conn) or die ('Błąd podczas wyboru bazy: '. mysql_error());
$sql1="select * from pliki where IdPlik='16'";
$result2=mysql_query($sql1,$conn) or die ('Błąd wykonania zapytania 1: '.mysql_error());
$row = mysql_fetch_assoc($result2);
$pliczek=$row['plik'];
$typpliku=$row['typ'];
$nazwapliku=$row['nazwa'];
$rozmiarpliku=$row['rozmiar'];
header("Content-Type:$typpliku");
header("Content-Length: $rozmiarpliku");
header("Content-Disposition: attachment; filename=$nazwapliku");
print $pliczek;
?>
$conn=mysql_connect("localhost","root","") or die ('Błąd połączenia z bazą MySQL: '.mysql_error());
$result1=mysql_select_db("farmacja",$conn) or die ('Błąd podczas wyboru bazy: '. mysql_error());
$sql1="select * from pliki where IdPlik='16'";
$result2=mysql_query($sql1,$conn) or die ('Błąd wykonania zapytania 1: '.mysql_error());
$row = mysql_fetch_assoc($result2);
$pliczek=$row['plik'];
$typpliku=$row['typ'];
$nazwapliku=$row['nazwa'];
$rozmiarpliku=$row['rozmiar'];
header("Content-Type:$typpliku");
header("Content-Length: $rozmiarpliku");
header("Content-Disposition: attachment; filename=$nazwapliku");
print $pliczek;
?>
Przegladarka (INTERNET EXPLORER 7.0) wyrzuca mi nastepujace bledy, jak temu zaradzic:
Warning: Cannot modify header information - headers already sent by (output started at c:\usr\apache\httpd\html\index\pliki\wyswietl.php:2)
Warning: Cannot modify header information - headers already sent by (output started at c:\usr\apache\httpd\html\index\pliki\wyswietl.php:2)
Warning: Cannot modify header information - headers already sent by (output started at c:\usr\apache\httpd\html\index\pliki\wyswietl.php:2)