upload.sql
Code:
CREATE TABLE `upload` (
`id` int(11) NOT NULL auto_increment,
`name` varchar(30) NOT NULL,
`type` varchar(30) NOT NULL,
`size` int(11) NOT NULL,
`content` mediumblob NOT NULL,
PRIMARY KEY (`id`)
);
up.html
Code:
<form action="up.php" method="post" enctype="multipart/form-data">
<table width="350" border="0" cellpadding="1" cellspacing="1" class="box">
<tr>
<td width="246">
<input type="hidden" name="MAX_FILE_SIZE" value="2000000">
<input name="userfile" type="file" id="userfile">
</td>
<td width="80"><input name="upload" type="submit" class="box" id="upload" value=" Upload "></td>
</tr>
</table>
</form>
up.php
PHP Code:
<?php
mysql_connect("localhost","user","xyz") or die(mysql_error());
mysql_select_db("database") or die(mysql_error());
if(isset($_POST['upload']) && $_FILES['userfile']['size'] > 0)
{
$fileName = $_FILES['userfile']['name'];
$tmpName = $_FILES['userfile']['tmp_name'];
$fileSize = $_FILES['userfile']['size'];
$fileType = $_FILES['userfile']['type'];
$fp = fopen($tmpName, 'r');
$content = fread($fp, filesize($tmpName));
$content = addslashes($content);
$file_extension = strtolower(substr(strrchr($fileName,"."),1));
switch($file_extension){
case "gif": $ctype="image/gif"; break;
case "png": $ctype="image/png"; break;
case "jpeg":
case "jpg": $ctype="image/jpg"; break;
case "3gp": $ctype="video/3gpp"; break;
case "pdf": $ctype="application/pdf"; break;
default:
die("File requested for encrypted display has no valid extension.");
}
fclose($fp);
if(!get_magic_quotes_gpc()){
$fileName = addslashes($fileName);
}
$query = "INSERT INTO upload (name, size, type, content )
VALUES ('$fileName', '$fileSize', '$file_extension', '$content')";
mysql_query($query) or die('Error, query failed');
echo "<br>File $fileName uploaded<br>";
}
?>
download.php
PHP Code:
<?php
mysql_connect("localhost","user","xyz") or die(mysql_error());
mysql_select_db("database") or die(mysql_error());
if(isset($_GET['id'])){
$id=intval($_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-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
$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 echo $id ?>"><?php echo $name ?></a> <br/>
<?php
}
}
?>
</body>
</html>
It works for me, if you have any question, just ask
Bookmarks