Zdravím,
už nejaký čas sedím nad jedným problémom, presnoril som niekoľko fór ale funkčné riešenie som zatiaľ nenašiel. Snažím sa vytvoriť skript na stiahnutie súboru uloženého v databáze ako longblob. V súčastnosti môj kód vyzerá asi takto ale funguje len z časti.
download.php:
Kód:
<?php
session_start();
if(isset($_GET['name']))
{
include 'pripojenie_db.php';
$name=$_GET['name'];
$id=0+$_SESSION['id'];
$result = mysql_query("SELECT file FROM file WHERE name=$name and id=$id");
$file=$row[0];
header("Content-length:".filesize($file));
header("Content-type: text/plain");
header("Content-Disposition: attachment; filename=\"".$name.".txt\"");
readfile($file);
exit;
}
?>
menu.php:
Kód:
<?php
if($_SESSION['loged']=='1')
{
$pom=0+$_SESSION['id'];
$result = mysql_query("SELECT name FROM file WHERE id=$pom");
while ($row=mysql_fetch_array($result)){
$name=$row[0];
?>
<a href="download.php?name=<?php echo $name;?>"><?php echo $name;?></a><br>
<?php
}
mysql_free_result($result);
}
?>
Tabuľka databázy má štruktúru:
id int
name varchar(20)
file longblob
id je cudzí kľúč na tabuľku používateľov a id aj name sú primárne kľúče.
V skripte menu.php vypisujem linky na všetky súbory čo má používateľ ktorého id je uložené pomocou session. V databáze sú uložené len súbory s príponou .txt čiže notepad.
Keď kliknem na tento link tak sa mi síce začne sťahovanie ale stiahnutý súbor je prázdny a veľkosť má 0b, už naozaj neviem v čom môže byť problém. Tento problém sa neprejavuje len pri súboroch txt alew skúšal som aj iné ale výsledok bol rovnaký. Prosím ak viete kde je problém prosím poraďte.