Download File From Database

  • Автор темы Devochka
  • Дата начала
D

Devochka

Гость
#1
Здравствуйте! Написала скрипт на скачивание файла с базы данных. Скрипт отработал -- данные с базы были переданы на скачивание. Название файла в базе было тестовое и решила закачать тот же файл, но с нормальным названием. После этого скрипт перестал отрабатывать. Ошибки не вижу, но при получении файла выскакивает сообщение "File ID is not given". Подключаюсь к базе по тем же настройкам, что и при добавлении файла в базу. Ниже код

PHP:
<!--Download.php-->

<?php
if(isset($_GET['id']))
{
//connect to database
$_con = mysql_connect ("localhost", "мой_юзер", "мой_пароль"); 
if (!$_con){
die ('Could not connect to database!!!' . mysql_error());
}
mysql_select_db("моя_база", $_con);

// query
$id = $_GET['id'];
$query = "SELECT * FROM моя_база WHERE id = '24' "; (24 - Id файла в базе)
$result = mysql_query($query) or die(mysql_error());

// results 
$name=mysql_result($result,0,"name");
$size=mysql_result($result,0,"size");
$type=mysql_result($resul,0,"type");
$content=mysql_result($result,0,"content");

header("Content-disposition: attachment; filename=$name");
header("Content-length: $size");
header("Content-type: $type");
echo $content;

mysql_close($_con);
}

else{
die("File ID is not given.");
}
?>
В HTML ссылка на скачивание прописана следующим образом <a href="Download.php">Download</a>
 
10.11.2010
17
0
#2
ты не передаешь GET параметр id поэтому вот эта строка if(isset($_GET['id'])) возвращает false и твой скрипт не отрабатывает.
Нужно в HTML ссылке на скачивание прописать id нужного файла следующим образом <a href="Download.php?id=24">Download</a>