| | |
how to retrive image file from mysql databse using php
Please support our PHP advertiser: PostgreSQL or MySQL? Compare and contrast the two most popular open source databases
![]() |
how are you saving the image? Are you just saving the image name or are you saving the image data?
What type of database field are you using to save the image? text, blob, varchar?
what code are you using to retrieve the image?
where are you getting the error? in your php? or are you just not showing the image after you retrieve it?
What type of database field are you using to save the image? text, blob, varchar?
what code are you using to retrieve the image?
where are you getting the error? in your php? or are you just not showing the image after you retrieve it?
www.fijiwebdesign.com - web design and development and fun
Cpanel Email - Let users Register email accounts on your website upon registration
Ajax Chat - Fully browser based chat!
Cpanel Email - Let users Register email accounts on your website upon registration
Ajax Chat - Fully browser based chat!
•
•
Join Date: Sep 2006
Posts: 5
Reputation:
Solved Threads: 0
hi
my database data
my html page to upload file to database
submiting this to mysql databse
now the problem is i need to retrive this file(files are image).how to retrive these image files
thanks for reply
my database data
PHP Syntax (Toggle Plain Text)
CREATE TABLE upload ( id INT NOT NULL AUTO_INCREMENT, name VARCHAR(30) NOT NULL, type VARCHAR(30) NOT NULL, size INT NOT NULL, content MEDIUMBLOB NOT NULL, PRIMARY KEY(id) );
my html page to upload file to database
PHP Syntax (Toggle Plain Text)
<form 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>
submiting this to mysql databse
PHP Syntax (Toggle Plain Text)
<?php 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); fclose($fp); if(!get_magic_quotes_gpc()) { $fileName = addslashes($fileName); } include 'library/config.php'; include 'library/opendb.php'; $query = "INSERT INTO upload (name, size, type, content ) ". "VALUES ('$fileName', '$fileSize', '$fileType', '$content')"; mysql_query($query) or die('Error, query failed'); include 'library/closedb.php'; echo "<br>File $fileName uploaded<br>"; } ?>
now the problem is i need to retrive this file(files are image).how to retrive these image files
thanks for reply
You can go to this site in which give you the idea of uploading and downloading files to/from database.
http://www.php-mysql-tutorial.com/php-mysql-upload.php
However, since the file is an image file. I suggest that you use the method of uploading and downloading files to/from file server where any files you uploaded will be stored on a folder at the server and the link is stored in the database. It will be making the database bulky and format conversion error when storing files in database. Below are the example for uploading and downloading files to file server. You can refer it:
http://www.php-mysql-tutorial.com/up...ile-server.php
Hope it helps.
http://www.php-mysql-tutorial.com/php-mysql-upload.php
However, since the file is an image file. I suggest that you use the method of uploading and downloading files to/from file server where any files you uploaded will be stored on a folder at the server and the link is stored in the database. It will be making the database bulky and format conversion error when storing files in database. Below are the example for uploading and downloading files to file server. You can refer it:
http://www.php-mysql-tutorial.com/up...ile-server.php
Hope it helps.
•
•
Join Date: Nov 2007
Posts: 6
Reputation:
Solved Threads: 0
•
•
•
•
hi
i am new to this forum. i am able to add image file(a.jpg) to mysql databse. when i see the file in a databse . i could see the file.but when i try to retrive that file ia m getting error.can anybody help me
thanks
<table width="816" height="377" border="0" cellpadding="1" cellspacing="1" bordercolor="#000000" >
<tr>
<th height="212" scope="col" align="left" valign="top">
<p class="style11 style5">
<?
@ $rpp; //Records Per Page
@ $cps; //Current Page Starting row number
@ $lps; //Last Page Starting row number
@ $a; //will be used to print the starting row number that is shown in the page
@ $b; //will be used to print the ending row number that is shown in the page
/////////////////////////////////////////////////////////////////////////////////
//Database connection
/////////////////////////////////////////////////////////////////////////////////
$database="cinemetrics";
@mysql_connect("localhost","","");
@mysql_select_db($database) or die( "Unable to select database");
$user=$_SESSION['username'];
$folder="upload/profile_img/110x80/";
/////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////
//Following IF Statement is used to make sure when the page is loaded for the
//first time, Current Page's Starting row number is 0, i.e. 1st row from the
//table is being printed. It will change as the user will click on next.
/////////////////////////////////////////////////////////////////////////////////
if(empty($_GET["cps"]))
{
$cps = "0";
}
else
{
$cps = $_GET["cps"];
}
/////////////////////////////////////////////////////////////////////////////////
$a = $cps+1;
$rpp = "12";
$lps = $cps - $rpp; //Calculating the starting row number for previous page
/////////////////////////////////////////////////////////////////////////////////
//Following IF Statement is used to make sure whether a link to Previous page is
//needed or not. If the user is viewing the first set of data then the link will
//be disabled, if on the next set then it will carry the $lps in its link and
//enable the link
if ($cps <> 0)
{
$prv = "<a href='viewimages.php?cps=$lps'>Previous</a>";
}
else
{
$prv = "<font color='cccccc'>Previous</font>";
}
$qry = "SELECT * FROM image WHERE username='$user'";
$result=mysql_query($qry);
$nr0=mysql_num_rows($result);
$sql = "SELECT * FROM image WHERE username='$user' LIMIT $cps, $rpp";
$data=mysql_query($sql);
$nr=mysql_num_rows($data);
/////////////////////////////////////////////////////////////////////////////////
//Following SQL Statement uses SQL_CALC_FOUND_ROWS function to calculate total
//number of rows found by the query excluding the limit function added at the
//end of the SQL statement. This is followed by second query with FOUND_ROWS()
//function which actually gives out the number of rows found.
/////////////////////////////////////////////////////////////////////////////////
$q="Select SQL_CALC_FOUND_ROWS * from paging limit $cps, $rpp";
$rs=mysql_query($q) or die(mysql_error());
$nr = mysql_num_rows($rs); //Number of rows found with LIMIT in action
$q0="Select FOUND_ROWS()";
$rs0=mysql_query($q0) or die(mysql_error());
$row0=mysql_fetch_array($rs0);
$nr0 = $row0["FOUND_ROWS()"]; //Number of rows found without LIMIT in action
/////////////////////////////////////////////////////////////////////////////////
//Following IF Statement is used to determine whether the user has reached the
//last page of the records. For example, if we have 27 rows to print and we show
//10 rows per page, then on the third and the last page it will show seven rows
//and will say at the top that SHOWING RECORDS FROM 21 to 27. If the following
//validator is not used then it shows SHOWING RECORDS FROM 21 to 30.
/////////////////////////////////////////////////////////////////////////////////
if (($nr0 < 12) || ($nr < 12))
{
$b = $nr0;
}
else
{
$b = ($cps) + $rpp;
}
Print "<table border cellpadding=3>";
Print "<tr>";
//echo $folder;
$i=1;
$k=4;
while($info = mysql_fetch_array( $data ))
{
$cps=$cps+1;
echo "<th><td>";
?>
<?
echo "F:\phpdev\www\cinetrics\upload\profile_img\400x300\".'"$info['imagepath']"';
<a href="javascript: void(0)" onClick="OpenNewWindow(echo "F:\phpdev\www\cinetrics\upload\profile_img\400x300\".$info['imagepath'] );" onmouseover="javascript:window.status='Click to view Image'; return true;">
echo "<img src='".$folder.$info['imagepath']."' ></a></td></th>";
$j=fmod($i,$k);
echo $j;
if($j==0)
{
Print "</tr><tr>";
}
$i++;
}
Print "</tr>";
Print "</table>";
?>
</p> </th>
</tr>
<?
echo "<tr><td align='right' colspan=2>$prv";
/////////////////////////////////////////////////////////////////////////////////
//Following IF Statement is used to determine whether the Next link will be
//enabled or disabled. If the user has reached the last page of the record, then
//the Next link will be disabled.
/////////////////////////////////////////////////////////////////////////////////
if ($cps == $nr0)
{
echo " | <font color='CCCCCC'>Next</font>";
}
else
{
if ($nr0 > 5)
{
echo " | <a href=' viewimages.php?cps=$cps&lps=$lps'>Next</a>";
}
}
/////////////////////////////////////////////////////////////////////////////////
?>
</tr>
</table>
change database as u have and write your filename at next and previous.i think it will work for you because it worked at my side.
Since you have the image data in a blob field, you can display the image just by echoing the blob data in your PHP script. (send the binary blog data to HTTP).
You'll just have to send the correct HTTP headers telling the browser that this is an image.
where png is the image type.
If you want to resize the image into a thumbnail, you can manipulate the blob data just as you would image data, since that is what it is. You need a library such as GD2 or imagemagik.
You'll just have to send the correct HTTP headers telling the browser that this is an image.
PHP Syntax (Toggle Plain Text)
header('Content-Type: image/png');
where png is the image type.
If you want to resize the image into a thumbnail, you can manipulate the blob data just as you would image data, since that is what it is. You need a library such as GD2 or imagemagik.
www.fijiwebdesign.com - web design and development and fun
Cpanel Email - Let users Register email accounts on your website upon registration
Ajax Chat - Fully browser based chat!
Cpanel Email - Let users Register email accounts on your website upon registration
Ajax Chat - Fully browser based chat!
•
•
Join Date: Nov 2007
Posts: 6
Reputation:
Solved Threads: 0
hiiiii I give you code that are worked .it used to retrive images from database in form of thumbnail with paging facility.......for this you make a folder upload and inside upload you make folder profile_img.in this folder you make 2 folder 110x80 and 800x600 in which images are stored in different size.you should change your database name and other things as you want.
here is code
<?
@ $rpp; //Records Per Page
@ $cps; //Current Page Starting row number
@ $lps; //Last Page Starting row number
@ $a; //will be used to print the starting row number that is shown in the page
@ $b; //will be used to print the ending row number that is shown in the page
/////////////////////////////////////////////////////////////////////////////////
//Database connection
/////////////////////////////////////////////////////////////////////////////////
$database="cinemetrics";
@mysql_connect("localhost","","");
@mysql_select_db($database) or die( "Unable to select database");
$user=$_SESSION['username'];
$folder="upload/profile_img/110x80/";
/////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////
//Following IF Statement is used to make sure when the page is loaded for the
//first time, Current Page's Starting row number is 0, i.e. 1st row from the
//table is being printed. It will change as the user will click on next.
/////////////////////////////////////////////////////////////////////////////////
if(empty($_GET["cps"]))
{
$cps = "0";
}
else
{
$cps = $_GET["cps"];
}
/////////////////////////////////////////////////////////////////////////////////
$a = $cps+1;
$rpp = "12";
$lps = $cps - $rpp; //Calculating the starting row number for previous page
/////////////////////////////////////////////////////////////////////////////////
//Following IF Statement is used to make sure whether a link to Previous page is
//needed or not. If the user is viewing the first set of data then the link will
//be disabled, if on the next set then it will carry the $lps in its link and
//enable the link
if ($cps <> 0)
{
$prv = "<a href='viewimages.php?cps=$lps'>Previous</a>";
}
else
{
$prv = "<font color='cccccc'>Previous</font>";
}
$qry = "SELECT * FROM image WHERE username='$user'";
$result=mysql_query($qry);
$nr0=mysql_num_rows($result);
$sql = "SELECT * FROM image WHERE username='$user' LIMIT $cps, $rpp";
$data=mysql_query($sql);
$nr=mysql_num_rows($data);
/////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////
//Following SQL Statement uses SQL_CALC_FOUND_ROWS function to calculate total
//number of rows found by the query excluding the limit function added at the
//end of the SQL statement. This is followed by second query with FOUND_ROWS()
//function which actually gives out the number of rows found.
/////////////////////////////////////////////////////////////////////////////////
$q="Select SQL_CALC_FOUND_ROWS * from paging limit $cps, $rpp";
$rs=mysql_query($q) or die(mysql_error());
$nr = mysql_num_rows($rs); //Number of rows found with LIMIT in action
$q0="Select FOUND_ROWS()";
$rs0=mysql_query($q0) or die(mysql_error());
$row0=mysql_fetch_array($rs0);
$nr0 = $row0["FOUND_ROWS()"]; //Number of rows found without LIMIT in action
/////////////////////////////////////////////////////////////////////////////////
//Following IF Statement is used to determine whether the user has reached the
//last page of the records. For example, if we have 27 rows to print and we show
//10 rows per page, then on the third and the last page it will show seven rows
//and will say at the top that SHOWING RECORDS FROM 21 to 27. If the following
//validator is not used then it shows SHOWING RECORDS FROM 21 to 30.
/////////////////////////////////////////////////////////////////////////////////
if (($nr0 < 12) || ($nr < 12))
{
$b = $nr0;
}
else
{
$b = ($cps) + $rpp;
}
Print "<table border=1 cellpadding=0>";
Print "<tr>";
//echo $folder;
$i=1;
$k=4;
while($info = mysql_fetch_array( $data )){
$cps=$cps+1;
?>
<a href="javascript: void(0)" onclick="openRequestedPopup('<? echo $info['id']; ?>')">
<?
echo "<th><td> <img src='".$folder.$info['imagepath']."' ></a> </td></th>";
$j=fmod($i,$k);
if($j==0)
{
Print "</tr><tr>";
}
$i++;
}
Print "</tr>";
Print "</table>";
?>
</p> </td>
</tr>
<?
echo "<tr><td align='right' colspan=2>$prv";
/////////////////////////////////////////////////////////////////////////////////
//Following IF Statement is used to determine whether the Next link will be
//enabled or disabled. If the user has reached the last page of the record, then
//the Next link will be disabled.
/////////////////////////////////////////////////////////////////////////////////
if ($cps == $nr0)
{
echo " | <font color='CCCCCC'>Next</font>";
}
else
{
if ($nr0 > 5)
{
echo " | <a href=' viewimages?cps=$cps&lps=$lps'>Next</a>";
}
}
/////////////////////////////////////////////////////////////////////////////////
?>
</tr>
</table>
here is code
<?
@ $rpp; //Records Per Page
@ $cps; //Current Page Starting row number
@ $lps; //Last Page Starting row number
@ $a; //will be used to print the starting row number that is shown in the page
@ $b; //will be used to print the ending row number that is shown in the page
/////////////////////////////////////////////////////////////////////////////////
//Database connection
/////////////////////////////////////////////////////////////////////////////////
$database="cinemetrics";
@mysql_connect("localhost","","");
@mysql_select_db($database) or die( "Unable to select database");
$user=$_SESSION['username'];
$folder="upload/profile_img/110x80/";
/////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////
//Following IF Statement is used to make sure when the page is loaded for the
//first time, Current Page's Starting row number is 0, i.e. 1st row from the
//table is being printed. It will change as the user will click on next.
/////////////////////////////////////////////////////////////////////////////////
if(empty($_GET["cps"]))
{
$cps = "0";
}
else
{
$cps = $_GET["cps"];
}
/////////////////////////////////////////////////////////////////////////////////
$a = $cps+1;
$rpp = "12";
$lps = $cps - $rpp; //Calculating the starting row number for previous page
/////////////////////////////////////////////////////////////////////////////////
//Following IF Statement is used to make sure whether a link to Previous page is
//needed or not. If the user is viewing the first set of data then the link will
//be disabled, if on the next set then it will carry the $lps in its link and
//enable the link
if ($cps <> 0)
{
$prv = "<a href='viewimages.php?cps=$lps'>Previous</a>";
}
else
{
$prv = "<font color='cccccc'>Previous</font>";
}
$qry = "SELECT * FROM image WHERE username='$user'";
$result=mysql_query($qry);
$nr0=mysql_num_rows($result);
$sql = "SELECT * FROM image WHERE username='$user' LIMIT $cps, $rpp";
$data=mysql_query($sql);
$nr=mysql_num_rows($data);
/////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////
//Following SQL Statement uses SQL_CALC_FOUND_ROWS function to calculate total
//number of rows found by the query excluding the limit function added at the
//end of the SQL statement. This is followed by second query with FOUND_ROWS()
//function which actually gives out the number of rows found.
/////////////////////////////////////////////////////////////////////////////////
$q="Select SQL_CALC_FOUND_ROWS * from paging limit $cps, $rpp";
$rs=mysql_query($q) or die(mysql_error());
$nr = mysql_num_rows($rs); //Number of rows found with LIMIT in action
$q0="Select FOUND_ROWS()";
$rs0=mysql_query($q0) or die(mysql_error());
$row0=mysql_fetch_array($rs0);
$nr0 = $row0["FOUND_ROWS()"]; //Number of rows found without LIMIT in action
/////////////////////////////////////////////////////////////////////////////////
//Following IF Statement is used to determine whether the user has reached the
//last page of the records. For example, if we have 27 rows to print and we show
//10 rows per page, then on the third and the last page it will show seven rows
//and will say at the top that SHOWING RECORDS FROM 21 to 27. If the following
//validator is not used then it shows SHOWING RECORDS FROM 21 to 30.
/////////////////////////////////////////////////////////////////////////////////
if (($nr0 < 12) || ($nr < 12))
{
$b = $nr0;
}
else
{
$b = ($cps) + $rpp;
}
Print "<table border=1 cellpadding=0>";
Print "<tr>";
//echo $folder;
$i=1;
$k=4;
while($info = mysql_fetch_array( $data )){
$cps=$cps+1;
?>
<a href="javascript: void(0)" onclick="openRequestedPopup('<? echo $info['id']; ?>')">
<?
echo "<th><td> <img src='".$folder.$info['imagepath']."' ></a> </td></th>";
$j=fmod($i,$k);
if($j==0)
{
Print "</tr><tr>";
}
$i++;
}
Print "</tr>";
Print "</table>";
?>
</p> </td>
</tr>
<?
echo "<tr><td align='right' colspan=2>$prv";
/////////////////////////////////////////////////////////////////////////////////
//Following IF Statement is used to determine whether the Next link will be
//enabled or disabled. If the user has reached the last page of the record, then
//the Next link will be disabled.
/////////////////////////////////////////////////////////////////////////////////
if ($cps == $nr0)
{
echo " | <font color='CCCCCC'>Next</font>";
}
else
{
if ($nr0 > 5)
{
echo " | <a href=' viewimages?cps=$cps&lps=$lps'>Next</a>";
}
}
/////////////////////////////////////////////////////////////////////////////////
?>
</tr>
</table>
•
•
Join Date: Nov 2007
Posts: 6
Reputation:
Solved Threads: 0
if you have any problem with this code contact me on sndpbohra@gmail.com
![]() |
Similar Threads
- php5 and phpmyadmin?? (PHP)
- retrieving image from mysql database using php (PHP)
- Python and the JPEG Image File, Part 2, The Image (Python)
- Python and the JPEG Image File, Part 1, The Header (Python)
- hi, how to set a proper path of a image file, many thanks! (C#)
Other Threads in the PHP Forum
- Previous Thread: Edit php file from a browser window
- Next Thread: Update Page with wysiwyg content using PHP
| Thread Tools | Search this Thread |
# .htaccess 5.2.10 access alexa apache api array beginner broken cakephp checkbox class clean clients cms code convert cron curl database date directory display dissertation dropdown dynamic echo$_get[x]changingitintovariable... email encode error fairness file folder form forms function functions google hack href htaccess html htmlspecialchars image include indentedsubcategory ip javascript joomla legislation limit link local login mail memberships menu methods multiple multipletables mysql mysqlquery network newsletters oop open passwords paypal pdf persist php provider query radio random redirect remote script search secure server sessions simple sockets source space spam sql system table tutorial upload url user variable video voteup web youtube






