Image index of /lil

Up to parent folder | Jump to files | Script: /home/evilmer/public_html/avatar/lil/show.php ( source code )

Icon Name Filesize Timestamp
file error_log 56.47 KB Tue, 02 Jun 2026 21:44:22 +0000
html index.html 98 B Fri, 01 Jul 2005 15:40:45 +0000
image lilaquasoft.png (46x46) 1.41 KB Fri, 03 Jun 2005 10:09:58 +0000
image lilaussie.png (46x46) 1.09 KB Fri, 24 Nov 2006 15:41:06 +0000
image lilbandoshoodie.png (46x46) 2.96 KB Mon, 26 Apr 2010 12:29:52 +0000
image lilbsgpilot.png (46x46) 1.35 KB Fri, 24 Nov 2006 15:41:04 +0000
image lilcoldplayfan.png (46x46) 1020 B Mon, 06 Jun 2005 22:04:05 +0000
image lilcoldplayfanhair.png (46x46) 999 B Mon, 06 Jun 2005 22:04:05 +0000
image lilemokid.png (46x46) 3.27 KB Fri, 03 Jun 2005 11:15:17 +0000
image lilemokidspiked.png (46x46) 3.28 KB Fri, 03 Jun 2005 10:09:58 +0000
image lilenglandsupporter.png (46x46) 1.08 KB Fri, 03 Jun 2005 10:09:58 +0000
image lilenglandsupporterspiked.png (46x46) 1.05 KB Fri, 03 Jun 2005 10:09:58 +0000
image lilfacehugger.PNG (46x46) 943 B Wed, 06 Jul 2005 19:32:06 +0000
image lilfather.png (46x46) 3.29 KB Tue, 16 Aug 2005 12:36:43 +0000
image lilfatherfire.png (46x46) 3.22 KB Tue, 16 Aug 2005 12:36:43 +0000
image lilipod.png (46x46) 528 B Thu, 02 Jun 2005 21:28:02 +0000
image lilipodblue.png (46x46) 537 B Fri, 03 Jun 2005 10:09:58 +0000
image lilipodgreen.png (46x46) 532 B Fri, 03 Jun 2005 10:09:58 +0000
image lilipodorange.png (46x46) 551 B Fri, 03 Jun 2005 10:09:58 +0000
image lilmaketradefair.png (46x46) 1 KB Thu, 02 Jun 2005 22:52:53 +0000
image lilmaketradehair.png (46x46) 1004 B Thu, 02 Jun 2005 22:52:53 +0000
image lilmatt.png (46x46) 1 KB Thu, 02 Jun 2005 22:39:34 +0000
image lilmattnl.png (46x46) 1.05 KB Mon, 10 Oct 2005 13:01:12 +0000
image lilmattnlhair.png (46x46) 1.03 KB Mon, 10 Oct 2005 13:01:12 +0000
image lilmattspikeyhair.png (46x46) 1009 B Thu, 02 Jun 2005 22:35:51 +0000
image lilmerc.png (46x46) 1 KB Thu, 02 Jun 2005 22:39:34 +0000
image lilmercspikey.png (46x46) 1012 B Thu, 02 Jun 2005 22:39:34 +0000
image lilmphdude.png (46x46) 1.22 KB Wed, 29 Jun 2005 16:48:59 +0000
image lilmphdudespiked.png (46x46) 1.18 KB Wed, 29 Jun 2005 16:48:59 +0000
image lilmusefan.png (46x46) 3.25 KB Thu, 02 Jun 2005 22:57:39 +0000
image lilmusefanhair.png (46x46) 3.23 KB Thu, 02 Jun 2005 22:57:39 +0000
image lilninjamatt.png (46x46) 871 B Fri, 03 Jun 2005 10:09:58 +0000
image lilpatriot.png (46x46) 1022 B Thu, 02 Jun 2005 22:45:32 +0000
image lilpatriothair.png (46x46) 997 B Thu, 02 Jun 2005 22:45:32 +0000
image lilprincess.png (46x46) 3.21 KB Thu, 02 Jun 2005 22:57:39 +0000
image lilprincesshair.png (46x46) 3.21 KB Thu, 02 Jun 2005 22:57:38 +0000
image liltinyelvis.png (46x46) 942 B Thu, 02 Jun 2005 17:51:18 +0000
image liltubetravelhair.PNG (46x46) 1.07 KB Wed, 13 Jul 2005 14:51:48 +0000
image liltubetraveller.PNG (46x46) 1.09 KB Wed, 13 Jul 2005 14:51:48 +0000
image lilusadude.png (46x46) 1.05 KB Thu, 24 Nov 2005 23:24:28 +0000
image lilusadudehat.png (46x46) 1.01 KB Thu, 24 Nov 2005 23:24:28 +0000
image lilworker.png (46x46) 1.09 KB Thu, 02 Jun 2005 22:35:51 +0000
image lilyellow.png (46x46) 987 B Thu, 01 Sep 2005 21:45:42 +0000
file rand.jpeg 2.01 KB Thu, 02 Jun 2005 17:25:04 +0000
file show.php 13.1 KB Thu, 30 Jun 2005 22:07:50 +0000
Image Name Filesize Timestamp

Up to parent folder


PHP Source:

<?php
// 2002-06-25 17:44 by Chris Snyder  (csnyder@chxo.com)
// 2002-07-28 16:44 added paging ($skip and $perpage)
// 2002-08-16 11:50 updated for REGISTER_GLOBALS turned off
// 2002-08-25 20:11 listing directories first
// 2003-01-06 12:56 alphabetize folders and files, use apache icons, and don't show thumbs over 500k
// 2003-01-09 18:08 skip-to-files link
// 2003-01-22 18:20 fix alt/title tags for filetype icons, add .zip
// 2003-02-14 10:50 add $filepath suggestion on line 78
// 2003-03-15 19:49 urlencode foldernames
//
// find and list images in path (a folder) as thumbnails
// drop in replacement for fancyindexing -> either drop into an image directory as index.php
//              -OR-  point to script in Apache DirectoryIndex directive:
//                    DirectoryIndex index.html index.htm /cgi-bin/image-list.php

/*
image-list.php -- fancy image indexing using PHP
Copyright (C) 2003 by Chris Snyder (csnyder@chxo.com)
    
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
*/

$thumbwidth=80;
$thumbheight=60;
$thumblimit800;  // (Max filesize in KB for displaying thumbnail)
$skip$_REQUEST["skip"];
$perpage$_REQUEST["perpage"];
$showsource$_REQUEST["showsource"];
$REQUEST_URIgetenv("REQUEST_URI");
$DOCUMENT_ROOTgetenv("DOCUMENT_ROOT");
$SCRIPT_NAMEgetenv("SCRIPT_NAME");
$SCRIPT_FILENAMEgetenv("SCRIPT_FILENAME");
$SERVER_SIGNATUREgetenv("SERVER_SIGNATURE");

if (
$skip==""$skip0;
if (
$perpage==""$perpage48;

function 
myfilesize($file) {
    
// First check if the file exists.
    
if(!is_file($file)) exit("File does not exist!");
    
    
// Setup some common file size measurements.
    
$kb 1024;         // Kilobyte
    
$mb 1024 $kb;   // Megabyte
    
$gb 1024 $mb;   // Gigabyte
    
$tb 1024 $gb;   // Terabyte
    
    // Get the file size in bytes.
    
$size filesize($file);
    
    if(
$size $kb) return $size." B";
    else if(
$size $mb) return round($size/$kb,2)." KB";
    else if(
$size $gb) return round($size/$mb,2)." MB";
    else if(
$size $tb) return round($size/$gb,2)." GB";
    else return 
round($size/$tb,2)." TB";
    }

if (
substr($REQUEST_URI,-1)=="/") {
    
$lengthstrlen($REQUEST_URI)-1;
    
$uripathsubstr($REQUEST_URI,0,$length);
    }
else {
    
$uripathdirname($REQUEST_URI);
    }
$filepath$DOCUMENT_ROOT.urldecode($uripath);
// Some users have suggested:
// $filepath= realpath(".");
// instead of using $DOCUMENT_ROOT.
// print "filepath= $filepath and realpath=".realpath(".")." and uripath= $uripath ";

$lastslashstrrpos($uripath,"/");
$parenturisubstr($uripath,0,$lastslash+1);
if (
$parenturi==""$parenturi"/";
$displayuripathurldecode($uripath);

// show source code?
if ($showsource$sourceinfo"| Script: $SCRIPT_FILENAME ( <a href='#source'>source code</a> )";
else 
$sourceinfo"| <a href='$SCRIPT_NAME?showsource=1#source'>show source code</a>";

print 
"<html>
<head>
<title>
$displayuripath</title>
<style type='text/css'>
    body { font-family: Verdana, Geneva, sans-serif; font-size: 12px; background-color: #ffffee;}
    table { font-family: Verdana, Geneva, sans-serif; font-size: 12px; }
    .heading { font-size: 12px; font-weight: bold; background-color: #666677; color: #dddddd; border: 1px; border-style: solid; }
    .oddrow { background-color: #ffffff; }
    .evenrow { background-color: #eeffee; }
</style>
</head>
<body>
<h1>Image index of 
$displayuripath</h1>
<p><a href='
$parenturi'><img src='/icons/back.gif' border=0 hspace=5 align=absmiddle>Up to parent folder</a> | <a href='#files'>Jump to files</a> $sourceinfo</p>";

if (
$skip) {
    
$prevskip$skip $perpage;
    if (
$prevskip<0$prevskip0;
    
$prevtag"<a href='?skip=$prevskip'>Previous Page</a>";
    print 
"<p>$prevtag</p>";
    }

if (
$handle opendir($filepath)) {
    print 
"
<table cellpadding=5>
    <tr class=heading>
        <td align=center>Icon</td>
        <td>Name</td>
        <td align=center>Filesize</td>
                <td>Timestamp</td>
    </tr>"
;
        
        
// FIRST PASS for subdirectories only -- makes $mydirarray, which can be sorted alphabetically
        
$count0;
    while (
$file readdir($handle)) {
        if (
substr($file,0,1)==".") continue;
        if (
$file=="index.php") continue;
        if (@
is_dir("$filepath/$file")) {
                        
$mydirarray[$count]="$file";
                        
$count$count+1;
            }
                }
        
closedir($handle);
        
        
// now sort and print subfolders...
        
if (is_array($mydirarray)) {
                
sort($mydirarray);
                
reset($mydirarray);
                foreach (
$mydirarray AS $key=>$file) {
                        
$timestampfilemtime("$filepath/$file");
                        
$modifieddate("r"$timestamp);
                        if (
$evenrow) {
                                
$evenrow=0;
                                
$rowclass"evenrow";
                                }
                        else {
                                
$evenrow=1;
                                
$rowclass"oddrow";
                                }
            if (
$key==($count-1)) $separator"<a name='files'> </a>";
            
$safefileurlencode($file);
                        print 
"
                        <tr class='
$rowclass'>
                                <td align=right><img src='/icons/folder.gif' alt=folder title=folder></td>
                                <td><a href='
$uripath/$safefile/'>$file/</a>$separator</td>
                                <td align=center>-</td>
                                <td>
$modified</td>
                        </tr>"
;
                        }
                }


        
// SECOND PASS for files only
    
$handle opendir($filepath);
    
$skipped0;
    
$index0;
    
$count0;
    while (
$file readdir($handle)) {
        
// don't show .dotfiles, self, directories, or links (links are bad??? hmm)
        
if (substr($file,0,1)==".") continue;
        if (
$file=="index.php") continue;
        if (@
is_dir("$filepath/$file")) continue;
        if (@
is_link("$filepath/$file")) continue;
        
$myfilearray[$count]= $file;
        
$count$count+1;
        }
        
closedir($handle);

    
// now sort on filename
    
if (is_array($myfilearray)) {
        
sort($myfilearray);
        
reset($myfilearray);
        foreach (
$myfilearray AS $key=>$file) {
            if (
$index >= $perpage) {
                
$shownext1;
                break;
                }
            if (
$skipped<$skip && $skip!= 0) {
                
$skipped$skipped 1;
                continue;
                }
            
$index$index 1;
            
$timestampfilemtime("$filepath/$file");
            
$modifieddate("r"$timestamp);
            if (
$evenrow) {
                
$evenrow=0;
                
$rowclass"evenrow";
                }
            else {
                
$evenrow=1;
                
$rowclass"oddrow";
                }
            unset(
$info);
            unset(
$extrainfo);
            unset(
$sizetag);
            
$filesizemyfilesize("$filepath/$file");
            if (
$imagesize=@getimagesize("$filepath/$file",$info)) {
                
$width$imagesize[0];
                
$height$imagesize[1];
                if (
$width>$thumbwidth) {
                    
$ratio$thumbwidth $width;
                    
$width=$thumbwidth;
                    
$height$height*$ratio;
                    }
                if (
$height>$thumbheight) {
                    
$ratio$thumbheight $height;
                    
$height=$thumbheight;
                    
$width$width*$ratio;
                    }

                switch (
$imagesize[2]) {
                    case 
5$icontag"<img src='/icons/image3.gif' alt=file title='photoshop image'>"; break;
                    case 
7$icontag"<img src='/icons/image2.gif' alt=file title='tiff image'>"; break;
                    case 
8$icontag"<img src='/icons/image2.gif' alt=file title='tiff image'>"; break;
                    default: 
$icontag"<img src='$uripath/$file' width=$width height=$height alt=image title=image>"; break;
                    }
                
$sizetag"($imagesize[0]x$imagesize[1])";

                if (isset (
$info['APP13'])) {
                    
$iptc iptcparse ($info['APP13']);
                    if (
is_array($iptc)) {
                        foreach (
$iptc AS $key=>$val) {
                            if (
$key=="2#000") continue;
                            
$extrainfo.="$val[0]<br>";
                            }
                        }
                    }
                
// don't show thumbnails bigger than 500K!
                
if (filesize("$filepath/$file")>($thumblimit*1024)) $icontag"<img src='/icons/image2.gif' alt=file title='image'>";
                }
            else {
                
// try to determine from extension...
                
$lastdotstrrpos($file".");
                
$extensionstrtolower(substr($file,$lastdot+1));
                
//flerror("File extension is $extension.");
                
switch ($extension) {
                    case 
"pdf"$icontag"<img src='/icons/layout.gif' alt=pdf title=pdf>"; break;
                    case 
"txt"$icontag"<img src='/icons/text.gif' alt=text title=text>"; break;
                    case 
"htm"$icontag"<img src='/icons/text.gif' alt=html title=html>"; break;
                    case 
"html"$icontag"<img src='/icons/text.gif' alt=html title=html>"; break;
                    case 
"wav"$icontag"<img src='/icons/sound1.gif' alt=sound title=sound>"; break;
                    case 
"au"$icontag"<img src='/icons/sound1.gif' alt=sound title=sound>"; break;
                    case 
"aiff"$icontag"<img src='/icons/sound1.gif' alt=sound title=sound>"; break;
                    case 
"mp3"$icontag"<img src='/icons/sound2.gif' alt=sound title=sound>"; break;
                    case 
"ogg"$icontag"<img src='/icons/sound2.gif' alt=sound title=sound>"; break;
                    case 
"mov"$icontag"<img src='/icons/movie.gif' alt=video title=video>"; break;
                    case 
"avi"$icontag"<img src='/icons/movie.gif' alt=video title=video>"; break;
                    case 
"mpg"$icontag"<img src='/icons/movie.gif' alt=video title=video>"; break;
                    case 
"mpeg"$icontag"<img src='/icons/movie.gif' alt=video title=video>"; break;
                    case 
"mp4"$icontag"<img src='/icons/movie.gif' alt=video title=video>"; break;
                    case 
"divx"$icontag"<img src='/icons/movie.gif' alt=video title=video>"; break;
                    case 
"zip"$icontag"<img src='/icons/compressed.gif' alt='archive' title='zip archive'>"; break;
                    default: 
$icontag"<img src='/icons/generic.gif' alt=file title=file>"; break;
                    }
                }
            
// file row
            
$safefileurlencode($file);
            print 
"
        <tr class='
$rowclass'>
            <td valign=top align=right>
$icontag</td>
            <td valign=top><a href='
$uripath/$safefile'>$file</a> $sizetag</td>
            <td valign=top align=center>
$filesize</td>
            <td valign=top>
$modified</td>
            </tr>"
;
            }
        }
    else print 
"
        <tr>
            <td valign=middle colspan='4'>&nbsp; No files here.</td>
            </tr>"
;

    print 
"
    <tr class=heading>
        <td align=center>Image</td>
        <td>Name</td>
        <td align=center>Filesize</td>
        <td>Timestamp</td>
    </tr>
</table>"
;

    if (
$shownext) {
        
$nextskip$skip $index;
        if (
$prevtag$prevtag .= " | ";
        print 
"<p>$prevtag <a href='?skip=$nextskip'>Next Page</a></p>";
        }
    elseif (
$skip) {
        print 
"<p>$prevtag</p>";
        }

    print 
"
<p><a href='
$parenturi'><img src='/icons/back.gif' border=0 hspace=5 align=absmiddle>Up to parent folder</a></p>";
    }

if (
$showsource) {
    print 
"<hr><a name='source'> </a><h1>PHP Source:</h1>";
    
$voidshow_source($SCRIPT_FILENAME);
    }
print 
"
<hr>
image-list.php Copyright (C) 2003 by Chris Snyder<br>
This program comes with ABSOLUTELY NO WARRANTY.  This is free software, and you are welcome
to redistribute it under certain conditions; please refer to the
<a href='http://www.gnu.org/licenses/gpl.html'>GNU General Public License</a> for details.
</body>
</html>"
;
?>

image-list.php Copyright (C) 2003 by Chris Snyder
This program comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to redistribute it under certain conditions; please refer to the GNU General Public License for details.