ho usato un script (che inserirò alla fine) per creare un'elenco navigabile del contenuto di una directory specifica

posso far si che se clicco su un'immagine me la apra in un'altra finestra?

l'idea è quella di gestire insieme tutti i collegamenti che portano ad immagini...

poi se volessi aprirlo in una finestra con dei bottoni "avanti" e "indietro" che mi diano la possibilità di visualizzare le immagini contenute nella directory?

ecco lo script:
Codice PHP:
<?
/*
Directory Listing Script - Version 2
====================================
Script Author: Ash Young <ash@evoluted.net>. [url]www.evoluted.net[/url]
Layout: Manny <manny@tenka.co.uk>. [url]www.tenka.co.uk[/url]

REQUIREMENTS
============
This script requires PHP and GD2 if you wish to use the 
thumbnail functionality.

INSTRUCTIONS
============
1) Unzip all files 
2) Edit this file, making sure everything is setup as required.
3) Upload to server
4) ??????
5) Profit!

CONFIGURATION
=============
Edit the variables in this section to make the script work as
you require.

Start Directory - To list the files contained within the current 
directory enter '.', otherwise enter the path to the directory 
you wish to list. The path must be relative to the current 
directory.
*/
$startdir '.';

/*
Show Thumbnails? - Set to true if you wish to use the 
scripts auto-thumbnail generation capabilities.
This requires that GD2 is installed.
*/
$showthumbnails true

/*
Show Directories - Do you want to make subdirectories available?
If not set this to false
*/
$showdirs true;

/* 
Force downloads - Do you want to force people to download the files
rather than viewing them in their browser?
*/
$forcedownloads false;

/*
Hide Files - If you wish to hide certain files or directories 
then enter their details here. The values entered are matched
against the file/directory names. If any part of the name 
matches what is entered below then it is now shown.
*/
$hide = array(
                
'dlf',
                
'index.php',
                
'Thumbs',
                
'.htaccess',
                
'.htpasswd'
            
);
             
/* 
Show index files - if an index file is found in a directory
to you want to display that rather than the listing output 
from this script?
*/            
$displayindex false;

/*
Allow uploads? - If enabled users will be able to upload 
files to any viewable directory. You should really only enable
this if the area this script is in is already password protected.
*/
$allowuploads false;

/*
Overwrite files - If a user uploads a file with the same
name as an existing file do you want the existing file
to be overwritten?
*/
$overwrite false;

/*
Index files - The follow array contains all the index files
that will be used if $displayindex (above) is set to true.
Feel free to add, delete or alter these
*/

$indexfiles = array (
                
'index.html',
                
'index.htm',
                
'default.htm',
                
'default.html'
            
);
            
/*
File Icons - If you want to add your own special file icons use 
this section below. Each entry relates to the extension of the 
given file, in the form <extension> => <filename>. 
These files must be located within the dlf directory.
*/
$filetypes = array (
                
'png' => 'jpg.gif',
                
'jpeg' => 'jpg.gif',
                
'bmp' => 'jpg.gif',
                
'jpg' => 'jpg.gif'
                
'gif' => 'gif.gif',
                
'zip' => 'archive.png',
                
'rar' => 'archive.png',
                
'exe' => 'exe.gif',
                
'setup' => 'setup.gif',
                
'txt' => 'text.png',
                
'htm' => 'html.gif',
                
'html' => 'html.gif',
                
'fla' => 'fla.gif',
                
'swf' => 'swf.gif',
                
'xls' => 'xls.gif',
                
'doc' => 'doc.gif',
                
'sig' => 'sig.gif',
                
'fh10' => 'fh10.gif',
                
'pdf' => 'pdf.gif',
                
'psd' => 'psd.gif',
                
'rm' => 'real.gif',
                
'mpg' => 'video.gif',
                
'mpeg' => 'video.gif',
                
'mov' => 'video2.gif',
                
'avi' => 'video.gif',
                
'eps' => 'eps.gif',
                
'gz' => 'archive.png',
                
'asc' => 'sig.gif',
            );
            
/*
That's it! You are now ready to upload this script to the server.

Only edit what is below this line if you are sure that you know what you
are doing!
*/
error_reporting(0);
if(!
function_exists('imagecreatetruecolor')) $showthumbnails false;
$leadon $startdir;
if(
$leadon=='.'$leadon '';
if((
substr($leadon, -11)!='/') && $leadon!=''$leadon $leadon '/';
$startdir $leadon;

if(
$_GET['dir']) {
    
//check this is okay.
    
    
if(substr($_GET['dir'], -11)!='/') {
        
$_GET['dir'] = $_GET['dir'] . '/';
    }
    
    
$dirok true;
    
$dirnames split('/'$_GET['dir']);
    for(
$di=0$di<sizeof($dirnames); $di++) {
        
        if(
$di<(sizeof($dirnames)-2)) {
            
$dotdotdir $dotdotdir $dirnames[$di] . '/';
        }
        
        if(
$dirnames[$di] == '..') {
            
$dirok false;
        }
    }
    
    if(
substr($_GET['dir'], 01)=='/') {
        
$dirok false;
    }
    
    if(
$dirok) {
         
$leadon $leadon $_GET['dir'];
    }
}

if(
$_GET['download'] && $forcedownloads) {
    
$file str_replace('/'''$_GET['download']);
    
$file str_replace('..'''$file);

    if(
file_exists($leadon $file)) {
        
header("Content-type: application/x-download");
        
header("Content-Length: ".filesize($leadon $file)); 
        
header('Content-Disposition: attachment; filename="'.$file.'"');
        
readfile($leadon $file);
        die();
    }
}

if(
$allowuploads && $_FILES['file']) {
    
$upload true;
    if(!
$overwrite) {
        if(
file_exists($leadon.$_FILES['file']['name'])) {
            
$upload false;
        }
    }
    
    if(
$upload) {
        
move_uploaded_file($_FILES['file']['tmp_name'], $leadon $_FILES['file']['name']);
    }
}

$opendir $leadon;
if(!
$leadon$opendir '.';
if(!
file_exists($opendir)) {
    
$opendir '.';
    
$leadon $startdir;
}

clearstatcache();
if (
$handle opendir($opendir)) {
    while (
false !== ($file readdir($handle))) { 
        
//first see if this file is required in the listing
        
if ($file == "." || $file == "..")  continue;
        
$discard false;
        for(
$hi=0;$hi<sizeof($hide);$hi++) {
            if(
strpos($file$hide[$hi])!==false) {
                
$discard true;
            }
        }
        
        if(
$discard) continue;
        if (@
filetype($leadon.$file) == "dir") {
            if(!
$showdirs) continue;
        
            
$n++;
            if(
$_GET['sort']=="date") {
                
$key = @filemtime($leadon.$file) . ".$n";
            }
            else {
                
$key $n;
            }
            
$dirs[$key] = $file "/";
        }
        else {
            
$n++;
            if(
$_GET['sort']=="date") {
                
$key = @filemtime($leadon.$file) . ".$n";
            }
            elseif(
$_GET['sort']=="size") {
                
$key = @filesize($leadon.$file) . ".$n";
            }
            else {
                
$key $n;
            }
            
$files[$key] = $file;
            
            if(
$displayindex) {
                if(
in_array(strtolower($file), $indexfiles)) {
                    
header("Location: $file");
                    die();
                }
            }
        }
    }
    
closedir($handle); 
}

//sort our files
if($_GET['sort']=="date") {
    @
ksort($dirsSORT_NUMERIC);
    @
ksort($filesSORT_NUMERIC);
}
elseif(
$_GET['sort']=="size") {
    @
natcasesort($dirs); 
    @
ksort($filesSORT_NUMERIC);
}
else {
    @
natcasesort($dirs); 
    @
natcasesort($files);
}

//order correctly
if($_GET['order']=="desc" && $_GET['sort']!="size") {$dirs = @array_reverse($dirs);}
if(
$_GET['order']=="desc") {$files = @array_reverse($files);}
$dirs = @array_values($dirs); $files = @array_values($files);


?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Directory Listing of <?=dirname($_SERVER['PHP_SELF']).'/'.$leadon;?></title>
<link rel="stylesheet" type="text/css" href="dlf/styles.css" />
<?
if($showthumbnails) {
?>
<script language="javascript" type="text/javascript">
<!--
function o(n, i) {
    document.images['thumb'+n].src = 'dlf/i.php?f='+i;

}

function f(n) {
    document.images['thumb'+n].src = 'dlf/trans.gif';
}
//-->
</script>
<?
}
?>
</head>
<body>
<div id="container">
  <h1>Directory Listing of <?=dirname($_SERVER['PHP_SELF']).'/'.$leadon;?></h1>
  <div id="breadcrumbs"> [url="<?=$_SERVER['PHP_SELF'];?>"]home[/url] 
  <?
      $breadcrumbs 
split('/'$leadon);
      if((
$bsize sizeof($breadcrumbs))>0) {
          
$sofar '';
          for(
$bi=0;$bi<($bsize-1);$bi++) {
            
$sofar $sofar $breadcrumbs[$bi] . '/';
            echo 
' &gt; [url="'.$_SERVER['PHP_SELF'].'?dir='.urlencode($sofar).'"]'.$breadcrumbs[$bi].'[/url]';
        }
      }
  
    
$baseurl $_SERVER['PHP_SELF'] . '?dir='.$_GET['dir'] . '&amp;';
    
$fileurl 'sort=name&amp;order=asc';
    
$sizeurl 'sort=size&amp;order=asc';
    
$dateurl 'sort=date&amp;order=asc';
    
    switch (
$_GET['sort']) {
        case 
'name':
            if(
$_GET['order']=='asc'$fileurl 'sort=name&amp;order=desc';
            break;
        case 
'size':
            if(
$_GET['order']=='asc'$sizeurl 'sort=size&amp;order=desc';
            break;
            
        case 
'date':
            if(
$_GET['order']=='asc'$dateurl 'sort=date&amp;order=desc';
            break;  
        default:
            
$fileurl 'sort=name&amp;order=desc';
            break;
    }
  
?>
  </div>
  <div id="listingcontainer">
    <div id="listingheader"> 
    <div id="headerfile">[url="<?=$baseurl $fileurl;?>"]File[/url]</div>
    <div id="headersize">[url="<?=$baseurl $sizeurl;?>"]Size[/url]</div>
    <div id="headermodified">[url="<?=$baseurl $dateurl;?>"]Last Modified[/url]</div>
    </div>
    <div id="listing">
    <?
    $class 
'b';
    if(
$dirok) {
    
?>
    <div>[url="<?=$_SERVER['PHP_SELF'].'?dir='.urlencode($dotdotdir);?>"]">[img]dlf/dirup.png[/img][b]..[/b] [i]-[/i] <?=date ("M d Y h:i:s A"filemtime($dotdotdir));?>[/url]</div>
    <?
        
if($class=='b'$class='w';
        else 
$class 'b';
    }
    
$arsize sizeof($dirs);
    for(
$i=0;$i<$arsize;$i++) {
    
?>
    <div>[url="<?=$_SERVER['PHP_SELF'].'?dir='.urlencode($leadon.$dirs[$i]);?>"]">[img]dlf/folder.png[/img]" />[b]<?=$dirs[$i];?>[/b] [i]-[/i] <?=date ("M d Y h:i:s A"filemtime($leadon.$dirs[$i]));?>[/url]</div>
    <?
        
if($class=='b'$class='w';
        else 
$class 'b';    
    }
    
    
$arsize sizeof($files);
    for(
$i=0;$i<$arsize;$i++) {
        
$icon 'unknown.png';
        
$ext strtolower(substr($files[$i], strrpos($files[$i], '.')+1));
        
$supportedimages = array('gif''png''jpeg''jpg');
        
$thumb '';
        
        if(
$showthumbnails && in_array($ext$supportedimages)) {
            
$thumb '<span>[img]dlf/trans.gif[/img]</span>';
            
$thumb2 ' onmouseover="o('.$i.', \''.urlencode($leadon $files[$i]).'\');" onmouseout="f('.$i.');"';
            
        }
        
        if(
$filetypes[$ext]) {
            
$icon $filetypes[$ext];
        }
        
        
$filename $files[$i];
        if(
strlen($filename)>43) {
            
$filename substr($files[$i], 040) . '...';
        }
        
        
$fileurl $leadon $files[$i];
        if(
$forcedownloads) {
            
$fileurl $_SESSION['PHP_SELF'] . '?dir=' urlencode($leadon) . '&download=' urlencode($files[$i]);
        }

    
?>
    <div>[url="<?=$fileurl;?>"]"<?=$thumb2;?>>[img]dlf/<?=$icon;?>[/img]" />[b]<?=$filename;?>[/b] [i]<?=round(filesize($leadon.$files[$i])/1024);?>KB[/i] <?=date ("M d Y h:i:s A"filemtime($leadon.$files[$i]));?><?=$thumb;?>[/url]</div>
    <?
        
if($class=='b'$class='w';
        else 
$class 'b';    
    }    
    
?></div>
    <?
    
if($allowuploads) {
        
$phpallowuploads = (bool) ini_get('file_uploads');        
        
$phpmaxsize ini_get('upload_max_filesize');
        
$phpmaxsize trim($phpmaxsize);
        
$last strtolower($phpmaxsize{strlen($phpmaxsize)-1});
        switch(
$last) {
            case 
'g':
                
$phpmaxsize *= 1024;
            case 
'm':
                
$phpmaxsize *= 1024;
        }
    
    
?>
    <div id="upload">
        <div id="uploadtitle">[b]File Upload[/b] (Max Filesize: <?=$phpmaxsize;?>KB)</div>
        <div id="uploadcontent">
            <?
            
if($phpallowuploads) {
            
?>
            <form method="post" action="<?=$_SERVER['PHP_SELF'];?>?dir=<?=urlencode($leadon);?>" enctype="multipart/form-data">
            <input type="file" name="file" /> <input type="submit" value="Upload" />
            </form>
            <?
            
}
            else {
            
?>
            File uploads are disabled in your php.ini file. Please enable them.
            <?
            
}
            
?>
        </div>
        
    </div>
    <?
    
}
    
?>
  </div>
</div>
<div id="copy">Directory Listing Script &copy;2008 Evoluted, [url="http://www.evoluted.net/"]Web Design Sheffield[/url].</div>
</body>
</html>