Dysan
11-14-2007, 12:26 PM
Hi,
I have image paths stored inside a database, how do I create a link, in order to display the down dialog box to enable the user to download the file/image?
ScoobyDooobyD00
11-14-2007, 12:34 PM
I think this will help.
<html>
<head>
<title>Download File From MySQL</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<?php
$con = mysql_connect("HOST","USERNAME","PASSWORD");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("DATABASE", $con);
$query = "SELECT id, name FROM upload";
$result = mysql_query($query) or die('Error, query failed');
if(mysql_num_rows($result) == 0)
{
echo "Database is empty <br>";
}
else
{
while(list($id, $name) = mysql_fetch_array($result))
{
?>
<a href="download.php?id=<?php=$id;?>"><?php=$name;?></a> <br>
<?php
}
}
mysql_close($con);
?>
</body>
</html>
also if your using more than just "id" and "name" then you'll have to do this.
I added field here
$query = "SELECT id, name, field here FROM upload";
and here
while(list($id, $name, $field here) = mysql_fetch_array($result))
Then you'll add this at the beginning of the script.
<?php
if(isset($_GET['id']))
{
// if id is set then get the file with the id from database
$con = mysql_connect("HOST","USERNAME","PASSWORD");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("DATABASE", $con);
$id = $_GET['id'];
$query = "SELECT name, type, size, content " .
"FROM upload WHERE id = '$id'";
$result = mysql_query($query) or die('Error, query failed');
list($name, $type, $size, $content) = mysql_fetch_array($result);
header("Content-length: $size");
header("Content-type: $type");
header("Content-Disposition: attachment; filename=$name");
echo $content;
mysql_close($conn);
exit;
}
?>
I hope this helps.