Watch out for line wraps.

<?php

/* I wrote this for private use, so don't be suprised if it sucks. */

$DIRECTORY = '/path/to/images';
$PATH_ROOT = &$DIRECTORY; // Kind of a document root for this script.

if ( isset($_SERVER['PATH_INFO']) && 
file_exists($DIRECTORY.$_SERVER['PATH_INFO']) && ereg("^$PATH_ROOT", 
realpath($DIRECTORY.$_SERVER['PATH_INFO'])) ) {
  $info = pathinfo($DIRECTORY.$_SERVER['PATH_INFO']);
  switch(strtolower($info['extension'])) {
    case 'jpe':
    case 'jpg':
    case 'jpeg':
      header("Content-type: image/jpeg");
      break;
    case 'gif':
      header("Content-type: image/gif");
      break;
    default:
      exit();
      break;
  }
  readfile($DIRECTORY.$_SERVER['PATH_INFO']);
  exit();
}

if ($handle = opendir(trim($DIRECTORY)))
{
  $files = array();
  while (false !== ($file = readdir($handle)))
    if ( (strcmp($file, '.') != 0) ) {
      $info = pathinfo($file);
      if ( in_array(strtolower($info['extension']), array('jpg', 'jpe', 
'jpeg', 'gif')) )
        array_push($files, $file);
    }
  closedir($handle);

  $link = $files[mt_rand(0, (sizeof($files)-1))];

  echo '<html>
        <head>
                <META HTTP-EQUIV=Refresh CONTENT="5; URL='.$_SERVER['REQUEST_URI'].'"/>
                <title>'.$link.'</title>
        </head>
        <body>
                <center>
                        <a 
href="'.$_SERVER['REQUEST_URI'].'/'.$link.'">'.$link.'<br/>
                        <img border="0" src="'.$_SERVER['REQUEST_URI'].'/'.$link.'" 
/></a>
                </center>
        </body>
</html>';
}

?>



On Wednesday 03 September 2003 11:07 pm, John Taylor-Johnston wrote:
> I have a directory jammed-packed with images.
> I want to read the directory contents /www/usr/htm/images/
> and display randomly any *.gif or *.jpg in said directory.
> Do-able? Seriously? Ideas? Places to start?
> John

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

Reply via email to