first go here
http://www.enderswebdev.com/test/disp_image.php
then go here
http://www.enderswebdev.com/test/disp_image.php?img_name=cool.jpg
then go here and log in with user1, pass1
http://www.enderswebdev.com/test/junk.php
then go here
http://www.enderswebdev.com/test/disp_image.php?img_name=cool3.jpg
and here's the code to do it (assuming that when someone logs in you set $_SESSION['user'])
<?php
session_start();
$file_dir = 'images';
if(!array_key_exists('img_name',$_GET))
bad_file('No Image Specified');
elseif(!array_key_exists('user',$_SESSION))
bad_file('Not Logged In');
elseif(!file_exists($file_dir . '/' . $_GET['img_name']))
bad_file('File Not Found');
$filename = $file_dir . '/' . $_GET['img_name'];
list($width,$height,$type,$img_str) = getimagesize($filename);
//if the image is not a jpg or png type
if($type != 3 && $type != 2)
bad_file('Bad Image Type');
$mime = image_type_to_mime_type($type);
switch($type) {
case(2):
$im = imagecreatefromjpeg($filename);
header('Content-type: ' . $mime);
imagejpeg($im);
break;
case(3):
$im = imagecreatefrompng($filename);
header('Content-type: ' . $mime);
imagepng($im);
break;
} //end switch
//this function generates an image to display if the file is not
//called properly.
function bad_file($output) {
$im = imagecreate(170,25);
$background_color = imagecolorallocate($im,255,255,0);
$text_color = imagecolorallocate($im,255,0,0);
imagestring($im,5,5,5,$output,$text_color);
header('Content-type: ' . image_type_to_mime_type(3));
imagepng($im);
exit;
} //end bad_file
?>