Jump to content

help with download file from mysql


tomdchi

Recommended Posts

What I need this to do is present a list of files with a hyperlink to download each.  There can be multiple files in the database associated with a userid.  When download.php is accessed it is down by http://domain.com/download.php?userid=56 or whatever the user id is.  The code I have will only return the first file in the db.  Please, can someone help me with this?

 

The tables I have are:

id

userid

name

type

size

content

 

The code I am working with:

 

<?php


include("../dbconnect.php");
include("../includes/functions.php");

$userid = $_GET['userid']; 

$query   = "SELECT name, type, size, content FROM upload WHERE userid = '$userid'";
$result  = mysql_query($query) or die('Error, query failed');
list($name, $type, $size, $content) = mysql_fetch_array($result);

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


exit;


?>
<html>
<head>
<title>Download File From MySQL</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<?php
// Fix for IE7 and SSL
header("Pragma: public");
header("Expires: 0"); // set expiration time
header("Cache-Control: must-revalidate, post-check=0, pre-check=0, private");

include("../dbconnect.php");
include("../includes/functions.php");

$query  = "SELECT userid, 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($userid, $name) = mysql_fetch_array($result))
{
?>
<a href="download.php?id=<?=$id;?>"><?=$name;?></a> <br>
<?php		
}
}

?>
</body>
</html>

Link to comment
https://forums.phpfreaks.com/topic/125614-help-with-download-file-from-mysql/
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.