how to retrive image file from mysql databse using php

Reply

Join Date: Sep 2006
Posts: 5
Reputation: van2006 is an unknown quantity at this point 
Solved Threads: 0
van2006 van2006 is offline Offline
Newbie Poster

how to retrive image file from mysql databse using php

 
0
  #1
Sep 21st, 2006
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
Reply With Quote Quick reply to this message  
Join Date: Sep 2005
Posts: 1,050
Reputation: digital-ether is just really nice digital-ether is just really nice digital-ether is just really nice digital-ether is just really nice 
Solved Threads: 65
Moderator
digital-ether's Avatar
digital-ether digital-ether is offline Offline
Veteran Poster

Re: how to retrive image file from mysql databse using php

 
0
  #2
Sep 21st, 2006
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?
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!
Reply With Quote Quick reply to this message  
Join Date: Sep 2006
Posts: 5
Reputation: van2006 is an unknown quantity at this point 
Solved Threads: 0
van2006 van2006 is offline Offline
Newbie Poster

Re: how to retrive image file from mysql databse using php

 
0
  #3
Sep 22nd, 2006
hi

my database data

  1.  
  2. CREATE TABLE upload (
  3. id INT NOT NULL AUTO_INCREMENT,
  4. name VARCHAR(30) NOT NULL,
  5. type VARCHAR(30) NOT NULL,
  6. size INT NOT NULL,
  7. content MEDIUMBLOB NOT NULL,
  8. PRIMARY KEY(id)
  9. );


my html page to upload file to database
  1. <form method="post" enctype="multipart/form-data">
  2. <table width="350" border="0" cellpadding="1" cellspacing="1" class="box">
  3. <tr>
  4. <td width="246">
  5. <input type="hidden" name="MAX_FILE_SIZE" value="2000000">
  6. <input name="userfile" type="file" id="userfile">
  7. </td>
  8. <td width="80"><input name="upload" type="submit" class="box" id="upload" value=" Upload "></td>
  9. </tr>
  10. </table>
  11. </form>




submiting this to mysql databse
  1.  
  2. <?php
  3. if(isset($_POST['upload']) && $_FILES['userfile']['size'] > 0)
  4. {
  5. $fileName = $_FILES['userfile']['name'];
  6. $tmpName = $_FILES['userfile']['tmp_name'];
  7. $fileSize = $_FILES['userfile']['size'];
  8. $fileType = $_FILES['userfile']['type'];
  9.  
  10. $fp = fopen($tmpName, 'r');
  11. $content = fread($fp, filesize($tmpName));
  12. $content = addslashes($content);
  13. fclose($fp);
  14.  
  15. if(!get_magic_quotes_gpc())
  16. {
  17. $fileName = addslashes($fileName);
  18. }
  19.  
  20. include 'library/config.php';
  21. include 'library/opendb.php';
  22.  
  23. $query = "INSERT INTO upload (name, size, type, content ) ".
  24. "VALUES ('$fileName', '$fileSize', '$fileType', '$content')";
  25. mysql_query($query) or die('Error, query failed');
  26. include 'library/closedb.php';
  27.  
  28. echo "<br>File $fileName uploaded<br>";
  29. }
  30. ?>



now the problem is i need to retrive this file(files are image).how to retrive these image files

thanks for reply
Reply With Quote Quick reply to this message  
Join Date: Sep 2006
Posts: 84
Reputation: rinoa04 is on a distinguished road 
Solved Threads: 4
rinoa04's Avatar
rinoa04 rinoa04 is offline Offline
Junior Poster in Training

Re: how to retrive image file from mysql databse using php

 
0
  #4
Sep 22nd, 2006
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.
Reply With Quote Quick reply to this message  
Join Date: Sep 2006
Posts: 5
Reputation: van2006 is an unknown quantity at this point 
Solved Threads: 0
van2006 van2006 is offline Offline
Newbie Poster

Re: how to retrive image file from mysql databse using php

 
0
  #5
Sep 22nd, 2006
thanks i am able to do. thanks you so much
Last edited by van2006; Sep 22nd, 2006 at 1:35 pm.
Reply With Quote Quick reply to this message  
Join Date: Oct 2007
Posts: 15
Reputation: nikhita is an unknown quantity at this point 
Solved Threads: 0
nikhita nikhita is offline Offline
Newbie Poster

Re: how to retrive image as thumbnail from mysql databse using php

 
0
  #6
Nov 7th, 2007
can u pls tel me how to display image from mysql as thumbnail
Reply With Quote Quick reply to this message  
Join Date: Nov 2007
Posts: 6
Reputation: sndpbohra is an unknown quantity at this point 
Solved Threads: 0
sndpbohra sndpbohra is offline Offline
Newbie Poster

Re: how to retrive image file from mysql databse using php

 
0
  #7
Nov 24th, 2007
Originally Posted by van2006 View Post
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.
Reply With Quote Quick reply to this message  
Join Date: Sep 2005
Posts: 1,050
Reputation: digital-ether is just really nice digital-ether is just really nice digital-ether is just really nice digital-ether is just really nice 
Solved Threads: 65
Moderator
digital-ether's Avatar
digital-ether digital-ether is offline Offline
Veteran Poster

Re: how to retrive image as thumbnail from mysql databse using php

 
0
  #8
Nov 28th, 2007
Originally Posted by nikhita View Post
can u pls tel me how to display image from mysql as thumbnail
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.

  1. 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!
Reply With Quote Quick reply to this message  
Join Date: Nov 2007
Posts: 6
Reputation: sndpbohra is an unknown quantity at this point 
Solved Threads: 0
sndpbohra sndpbohra is offline Offline
Newbie Poster

Re: how to retrive image file from mysql databse using php

 
0
  #9
Nov 29th, 2007
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>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<img src='".$folder.$info['imagepath']."' ></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</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>
Reply With Quote Quick reply to this message  
Join Date: Nov 2007
Posts: 6
Reputation: sndpbohra is an unknown quantity at this point 
Solved Threads: 0
sndpbohra sndpbohra is offline Offline
Newbie Poster

Re: how to retrive image file from mysql databse using php

 
0
  #10
Nov 29th, 2007
if you have any problem with this code contact me on sndpbohra@gmail.com
Reply With Quote Quick reply to this message  
Reply

Message:


Thread Tools Search this Thread



About Us | Contact Us | Advertise | DaniWeb | Acceptable Use Policy | RSS Feed

©2003 - 2009 DaniWeb® LLC