Jump to content

Retrieve Images From mySQL


icE1

Recommended Posts

Hi,

I'm trying to retrieve an image that I stored in a mySQL database. I'm able to get the name, id but however unable to get the image to show up. The image shows up as:

ótvwnY·ÌôMëÉØö,`âJ5œ››úõÐ׫hÚnÑ'«©”Œèè褤£üüüÎÎÎæ¶y‰­ŽØ’æææN…QÔÔÔŠ™¼EÛúúúF¶üÊñ…u’;¹s§øÚÚÚòiVò“…–––q†nkÝÝÞQºººNm±°°°”jvdùèåááá{“Å6«õxf/W®‘¤Í¶¶¶ÚåøÑÑÑd—ø­­­°¸ÈúârÎɹ½½¾êÑjòòòø¸­sÈÈÈööö™‡vïïðMXnÅÅÅ=Âøøø¨†vNHÆ€€©©©ôôô‹SLñõýíí튋

My code for image retrieve is as follow:

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

<body>
<?php
include 'config.php';
include 'opendb.php';

$query = "SELECT id, name, content 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, $content) = mysql_fetch_array($result))
{
?>
<?php
echo $name;
echo $id;
echo $content;
?>
<?php
}
}
include 'closedb.php';
?>
</body>
</html>

<?php
if(isset($_GET['id']))
{
// if id is set then get the file with the id from database

include 'config.php';
include 'opendb.php';
$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;

include 'closedb.php';
exit;
}

?>[/code]

Can anyone help me? What have I left out?
Link to comment
https://forums.phpfreaks.com/topic/20713-retrieve-images-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.