Avatar of codeoxygen
codeoxygen

asked on 

display images in php

facing problem in displaying the images that are stored in databases the following code is to display the images

<?php

$link = mysql_connect('localhost', 'root', '');
if (!$link) {
    die('Not connected : ' . mysql_error());
}

$db_selected = mysql_select_db('upload', $link);

if (!$db_selected) {
    die ('Database error : ' . mysql_error());
}

        $sql = "SELECT * FROM images";
 
       
        header("Content-type: image/jpeg");
        echo mysql_result($result, 0,'imageData');
 
     
?>
the following code is to upload the images in the database
<?php

$link = mysql_connect('localhost', 'root', '');
if (!$link) {
    die('Not connected : ' . mysql_error());
}

$db_selected = mysql_select_db('upload', $link);
if (!$db_selected) {
    die ('Database error : ' . mysql_error());
}

$maxFileSize = "1000000";

$image_array            = array("image/jpeg","image/jpg","image/gif","image/bmp","image/pjpeg","image/png");

$fileType = $_FILES['userfile']['type'];

 
$msg = '';


if(@$_POST['Submit'])
{


if (in_array($fileType, $image_array))
{


 if(is_uploaded_file($_FILES['userfile']['tmp_name']))
 {
 
 
        if($_FILES['userfile']['size'] < $maxFileSize)
            {
 

                  $imageData =addslashes (file_get_contents($_FILES['userfile']['tmp_name']));
 
        $sql = "INSERT INTO images ( imageData) VALUES ('$imageData')";
 
             
        mysql_query($sql) or die(mysql_error());
            $msg = " Data successfully uploaded";
         }
     else
       {
     
           $msg = ' Error :  File size exceeds the maximum limit ';
             
           }
   }
}
else
{
$msg = 'Error: Not a valid image ';
}

}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 
<html>
     <body>
       <span style="color:#FF0000"><?php echo $msg; ?></span><br />

        <h3>Select File to upload</h3>
 
        <form enctype="multipart/form-data" action="" method="post">
             <input name="userfile" type="file" />
            <input type="submit" value="Submit"  name="Submit"/>
        </form>
    </body>
</html>
i am able to upload the images here in the database but i am unable to display all the images that are stored in the database.help me out experts
WordPress

Avatar of undefined
Last Comment
rinfo
Avatar of Lukasz Chmielewski
Lukasz Chmielewski
Flag of Poland image

Try to display it like this:

$db_selected = mysql_select_db('upload', $link);

if (!$db_selected) {
    die ('Database error : ' . mysql_error());
}

        $sql = "SELECT * FROM images";
        $result = mysql_query($sql);
        $row = mysql_fetch_array($result);
        
        header("Content-type: image/jpeg");
        echo $row['imageData'];
 
     
?>

Open in new window

BUT I would definetely recommend to store the images as files having a link in the database to the path where they are. The database can rapidly grow to big size. If that is just for learning purposes, the code provided should be ok.
ASKER CERTIFIED SOLUTION
Avatar of rinfo
rinfo

Blurred text
THIS SOLUTION IS ONLY AVAILABLE TO MEMBERS.
View this solution by signing up for a free trial.
Members can start a 7-Day free trial and enjoy unlimited access to the platform.
See Pricing Options
Start Free Trial
WordPress
WordPress

WordPress is a free and open-source content management system (CMS) based on PHP and MySQL for creating websites and blogs. Features include a plugin architecture, a template system and strong management, customization and search systems; through its dynamic presentation of content, webmasters have the flexibility to create websites easily.

11K
Questions
--
Followers
--
Top Experts
Get a personalized solution from industry experts
Ask the experts
Read over 600 more reviews

TRUSTED BY

IBM logoIntel logoMicrosoft logoUbisoft logoSAP logo
Qualcomm logoCitrix Systems logoWorkday logoErnst & Young logo
High performer badgeUsers love us badge
LinkedIn logoFacebook logoX logoInstagram logoTikTok logoYouTube logo