Re: [PHP-DB] Retrieving Image Location in MySQL

[email protected] (Bastien Koert)
Newsgroups php.db
Message-ID <[email protected]>
On Fri, Mar 6, 2009 at 1:06 PM, Joao Gomes Madeira <[email protected]>wrote:

> Hi Sashi:
>
> You're incurring in this error because the headers for the page have
> already been issued in the head section of your page.
> When you issue the php header() function, it will generate an error.
>
> Anyway, you are storing a path to a file in the database. My question
> is: do you want to put your images on a subfolder of your site, where
> they will become acessible through regular URLS, or you want to keep
> them private and only accessible by scripting?
>
> Cheers.
> JP
>
> -----Original Message-----
> From: Sashikanth Gurram <[email protected]>
> To: [email protected]
> Subject: Re: [PHP-DB] Retrieving Image Location in MySQL
> Date: Fri, 06 Mar 2009 12:23:31 -0500
>
> Dear all,
>
> I have been trying to retrieve the location of a image from database and
> display the image in the browser using PHP. I have written a sort of
> code for the purpose. All I am getting in my browser after using the
> code is a long set of ASCII characters with the following warning
> *Warning*: Cannot modify header information - headers already sent by
> (output started at C:\wamp\www\mysqli.php:65)
> in *C:\wamp\www\mysqli.php* on line *237
> *
> I am herewith attaching my code. If anyone can  point out the error or
> give some kind of advice that would be really great. The location of the
> image is stored in a table by the name IMAGE under the column name
> Location and here in the code, the location is retrieved under the
> varibale name $Location.
>
> thanks,
> Sashi
>
> /<html>
> <body>
> <form action="mysqli.php" method="post">
> <br>
> <div align="center">
> Building Name:<select name="name">
> <option value=""> Select a Building</option>
> <option value="Agnew Hall">Agnew Hall</option>
>      <option value="Rector Field House">Rector Field House</option>
>      <option value="Richard B. Talbot Educational Resources
> Center">Richard B. Talbot Educational Resources Center</option>
>      <option value="Robeson Hall">Robeson Hall</option>
>      <option value="Sandy Hall">Sandy Hall</option>
>      <option value="Saunders hall">Saunders hall</option>
>      <option value="Seitz Hall">Seitz Hall</option>
>      <option value="Shanks Hall">Shanks Hall</option>
>      <option value="Shultz Hall">Shultz Hall</option>
>      <option value="Skelton Conference Center">Skelton Conference
> Center</option>
>      <option value="Williams Hall">Williams Hall</option>
>      <option value="Women's Softball Field">Women's Softball Field</option>
>      <option value="Wright House">Wright House</option>
> </select>
> </div>
>                    <input type="submit" />
> </form>
> <img src="mysqli.php?">
>
> <?php
> // Connects to your Database
> $host="*******";
> $user="*****";
> $password="******";
> $dbname="*******";
> $cxn=mysqli_connect($host, $user, $password, $dbname) ;
> if (!$cxn=mysqli_connect($host, $user, $password, $dbname))
>    {
>        $error=mysqli_error($cxn);
>        echo "$error";
>        die();
>    }
> else
>    {
>        echo "Connection established successfully";
>    }
> //Define the variables for Day and Month
> $Today=date("l");
> $Month=date("F");
> $build=$_POST["name"];
> $low_speed=2.5;
> $high_speed=4;
> $hour=date("G");
> $minute=date("i");
> if ($minute>=00 && $minute<=14)
>    {
>        $minute=00;
>    }
> elseif ($minute>=15 && $minute<=29)
>    {
>        $minute=15;
>    }
> elseif ($minute>=30 && $minute<=44)
>    {
>        $minute=30;
>    }
> else
>    {
>        $minute=45;
>    }
> $times="$hour:$minute";
> $sql="SELECT buildingname, parking_lot_name, empty_spaces, distance,
> round(distance/($low_speed*60),1) AS low_time,
> round(distance/($high_speed*60),1) AS high_time, Location FROM
> buildings, buildings_lots, parkinglots, occupancy2, Image where
> (buildings.buildingcode=occupancy2.building AND
> buildings.buildingcode=buildings_lots.building_code AND
> parkinglots.parking_lot_code=buildings_lots.parking_lot_code AND
> parkinglots.parking_lot_code=occupancy2.parking_lot AND
> Buildings.BuildingCode=Image.BuildingCode) AND buildingname='$build' AND
> month='$Month' AND day='$Today' AND Time='$times'";
> $data = mysqli_query($cxn,$sql);
> if (!$data=mysqli_query($cxn,$sql))
>    {
>        $error=mysqli_error($cxn);
>        echo "$error";
>        die();
>    }
> else
>    {
>        echo "<br>";
>        echo "Query sent successfully";
>    }
> echo "<br>";
> echo "<h1> PARKING LOT INFORMATION <h1>";
> echo "<table border='1' cellspacing='5' cellpadding='2'>";
> echo "<tr>\n
>        <th>Building</th>\n
>        <th>Parking Lot</th>\n
>        <th>Estimated Number of Empty Spaces</th>\n
>        <th>Distance (Feet)</th>\n
>        <th>Estimated walking time to the building</th>\n
>    </tr>\n";
> while ($row=mysqli_fetch_array($data))
>    {
>        extract($row);
> $building = $row[0];
>      $parking_lot = $row[1];
>      $Number_of_Empty_Spaces = $row[2];
>      $Distance = $row[3];
>      $time_l = $row[4];
>      $time_h=$row[5];
>      $location=$row[6];
> echo "<tr>\n
>              <td>$building</td>\n
>              <td>$parking_lot</td>\n
>              <td>$Number_of_Empty_Spaces</td>\n
>              <td>$Distance</td>\n
>              <td>$time_h - $time_l mins</td>\n
> <td>$location</td>\n
>              </tr>\n";
>    }
>    echo "</table>\n";
> $err=1;
> if ($img = file_get_contents($location, FILE_BINARY))
> {
>  if ($img = imagecreatefromstring($img)) $err = 0;
> }
> if ($err)
> {
>  header('Content-Type: text/html');
>  echo '<html><body><p style="font-size:9px">Error getting
> image...</p></body></html>';
> }
> else
> {
>  header('Content-Type: image/jpeg');
>  imagejpeg($img);
>  imagedestroy($img);
> }
> ?>
> </body>
> </html>/
>
> Sashikanth Gurram wrote:
> > Hello guys,
> >
> > Thanks to you all for your kind replies. I will try the steps and get
> > back to you if I encounter more problems.
> >
> > Thanks,
> > Sashi
> >
> > Fortuno, Adam wrote:
> >> Matya,
> >>
> >> Ha, ha, ha! Thank you good friend. I did say I didn't try the code :-)
> >>
> >> AF> Please note, I haven't tried this. It just seems plausible.
> >>
> >> I apologize if I confused anyone. I just meant to show how the
> >> parameter could help retrieve a picture. I wasn't too concerned with
> >> the particulars. Hopefully the concept is sound. If not, please do
> >> flame my note so no one attempts it.
> >>
> >> Be Well,
> >> A-
> >>
> >> -----Original Message-----
> >> From: Mattyasovszky Janos [mailto:[email protected]] Sent: Monday, March
> >> 02, 2009 9:29 AM
> >> To: [email protected]
> >> Subject: Re: [PHP-DB] Retrieving Image Location in MySQL
> >>
> >> Fortuno, Adam írta:
> >>
> >>
> >>>         //Write a query to pull out the picture's path
> >>>         $sql = "SELECT path FROM Image WHERE ID = %s";
> >>>         mysql_real_escape_string($value);
> >>>
> >>
> >> Sorry, but this won't work, since you don't map the value of the
> >> escaped $value to the %s, lets say with sprintf()...
> >>
> >> Regards,
> >> Matya
> >>
> >>
> >
> >
>
>
> --
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> Sashikanth Gurram
> Graduate Research Assistant
> Department of Civil and Environmental Engineering
> Virginia Tech
> Blacksburg, VA 24060, USA
>
>
>
>
> --
> PHP Database Mailing List (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php
>
>
What I normally do is to use php to create the main page and then reference
the image in the img tag like this

<img src='get_image.php?id=1234'>

where the 1234 is the image I want to fetch. Then that page just handles the
image is something like
<?php
// database connection
$conn = mysql_connect("localhost", "user", "password")
  OR DIE (mysql_error());
@mysql_select_db ($db, $conn) OR DIE (mysql_error());
$sql    = "SELECT * FROM image WHERE image_id=".$_GET["id"];
$result = mysql_query ($sql, $conn);
if (mysql_num_rows ($result)>0) {
  $row = @mysql_fetch_array ($result);
  $image_type = $row["image_type"];
  $image = $row["image"];
  Header ("Content-type: $image_type");
  print $image;
}
?>
-- 

Bastien

Cat, the other other white meat
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.