RE: storing images in database

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Just to polish the topic off, below are the two files that have been tested on my machine (xp, apache2, php 4.3.9, mysql4.0.1x)

<?php
//show_image.php

require("conn.php");
//check to see if the id is passed
if(isset($_GET['id'])) {
 $id=$_GET['id'];


$query = "select bin_data, filetype from binary_data where id=$id"; //echo $query; $result = connect($query); $row = mysql_fetch_array($result); { $data = $row['bin_data']; $type = $row['filetype']; } if ($type=="pjpeg") $type = "jpeg"; Header( "Content-type: $type");

 echo $data;

}
?>

<?php

// show_desc.php
require("conn.php");

 // you may have to modify login information for your database server

 $query = "select description, id from binary_data ";
 $result = connect($query);

 while ($rows = MYSQL_FETCH_ARRAY($result))
 {
 echo $rows['description'];
 echo "<br><br>";

 echo "<img src=\"show_image.php?id=".$rows['id']."\">\n";


}; ?>

And I used table structure

CREATE TABLE binary_data (
id INT(4) NOT NULL AUTO_INCREMENT PRIMARY KEY,
description CHAR(50),
bin_data LONGBLOB,
filename CHAR(50),
filesize CHAR(50),
filetype CHAR(50)
);

hth

bastien

From: Chip Wiegand <chip.wiegand@xxxxxxxxxx>
To: bastien_k@xxxxxxxxxxx
CC: "PHP DB" <php-db@xxxxxxxxxxxxx>
Subject: RE:  storing images in database
Date: Tue, 25 Jan 2005 12:57:40 -0800

"Bastien Koert" <bastien_k@xxxxxxxxxxx> wrote on 01/25/2005 12:46:12 PM:

> yes goes back to the whole header problem which is why you are here.
>
> If you could post the code, it would be simpler to help you...
>
> Bastien

This is in the main page -
<?
printf("<p><img src=\"image-src.php?id=$id\" alt=\"hotspot
images\">%s</p>", $row["text"]);
?>
and this is in a new included page -
<?
if($_GET['id']) {
$id = $_GET['id'];
$query = "select * from hotspots where id=$id";
$result = @MYSQL_QUERY($query);

$data = @MYSQL_RESULT($result,0,"image");
$type = @MYSQL_RESULT($result,0,"type");

Header( "Content-type: $type");
echo $data;
};
?>
The database connection statements are in an include file called at the
top of the main page. In the first statement shown above the alt text for
the image appears on the web page just fine, the image itself shows a
broken image icon. FWIW, I have the image stored in the database in a blob
field, is that correct?
--
Chip

> >From: Chip Wiegand <chip.wiegand@xxxxxxxxxx>
> >To: bastien_k@xxxxxxxxxxx
> >Subject: RE:  storing images in database
> >Date: Tue, 25 Jan 2005 12:44:44 -0800
> >
> >"Bastien Koert" <bastien_k@xxxxxxxxxxx> wrote on 01/25/2005 12:39:15
PM:
> >
> > > Its not src='id=$id'> that will defnintely blow up....
> > >
> > > echo '<img src="./path/to/image.php?id=$id">';
> > >
> > > where $id is the id of the record you are trying to get the image
to...
> > >
> > > Bastien
> >
> >So the code has to be a seperate included page I guess?
> >--
> >Chip
> >
> > > >From: Chip Wiegand <chip.wiegand@xxxxxxxxxx>
> > > >To: bastien_k@xxxxxxxxxxx
> > > >CC: php-db@xxxxxxxxxxxxx
> > > >Subject: RE:  storing images in database
> > > >Date: Tue, 25 Jan 2005 12:37:15 -0800
> > > >
> > > >Thanks Bastien,
> > > >In testing this I have added the code samples to a page and have it
> > > >working except the path statement is not correct. For now, I've
just
> >added
> > > >all the code to one page, rather than including a second page. The
> > > >statement - echo '<img src="id=$id">'; is resulting in this error -
The
> > > >requested URL /id=$id was not found on this server. Any
suggestions?
> > > >Thanks,
> > > >Chip
> > > >
> > > >"Bastien Koert" <bastien_k@xxxxxxxxxxx> wrote on 01/25/2005
09:45:39
> >AM:
> > > >
> > > > > the best way to do this is to move the image processing code to
a
> > > >separate
> > > > > page and include it like this
> > > > >
> > > > > echo '<img src="./path/to/image.php?id=$id">';
> > > > >
> > > > > then the image page looks like this:
> > > > > <?php
> > > > >
> > > > > if($_GET['id']) {
> > > > > $id = $_GET['id'];
> > > > > // you may have to modify login information for your database
> >server:
> > > > > @MYSQL_CONNECT("localhost","root","password");
> > > > >
> > > > > @mysql_select_db("binary_data");
> > > > >
> > > > > $query = "select bin_data,filetype from binary_data where
id=$id";
> > > > > $result = @MYSQL_QUERY($query);
> > > > >
> > > > > $data = @MYSQL_RESULT($result,0,"bin_data");
> > > > > $type = @MYSQL_RESULT($result,0,"filetype");
> > > > >
> > > > > Header( "Content-type: $type");
> > > > > echo $data;
> > > > >
> > > > > };
> > > > > ?>
> > > > >
> > > > > bastien
> > > > >
> > > > >
> > > > >
> > > > > >From: Chip Wiegand <chip.wiegand@xxxxxxxxxx>
> > > > > >To: "PHP DB" <php-db@xxxxxxxxxxxxx>
> > > > > >Subject:  storing images in database
> > > > > >Date: Tue, 25 Jan 2005 09:11:07 -0800
> > > > > >
> > > > > >I have stored a .jpg image in a database, then when I make a
sql
> > > >statement
> > > > > >to display that image on a web page all I get is the cryptic
code
> >in
> > > >place
> > > > > >of the image. I am storing it in a row configured as a blob,
mime
> >type
> > > > > >image/jpeg and binary (using phpMyAdmin). What am I doing
wrong?
> > > > > >Regards,
> > > > > >Chip
> > > > > >
> > > > > >--
> > > > > >PHP Database Mailing List (http://www.php.net/)
> > > > > >To unsubscribe, visit: http://www.php.net/unsub.php
> > > > > >
> > > > >
> > > > > --
> > > > > PHP Database Mailing List (http://www.php.net/)
> > > > > To unsubscribe, visit: http://www.php.net/unsub.php
> > > > >
> > > >
> > >
> > >
> >
>
>


-- PHP Database Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php


[Index of Archives]     [PHP Home]     [PHP Users]     [Postgresql Discussion]     [Kernel Newbies]     [Postgresql]     [Yosemite News]

  Powered by Linux