Image index of /kyc/AtkinPics

Up to parent folder | Jump to files | Script: /var/images/photos/public_html/kyc/AtkinPics/index.php ( source code )

Icon Name Filesize Timestamp
file a-w-from-water.jpg (3055x1651) 2.29 MB Wed, 27 Mar 2013 15:30:01 -0400
file atkin-1917.jpg (2341x3976) 2.41 MB Wed, 27 Mar 2013 15:30:09 -0400
file atkin-and-wheeler.jpg (3187x1957) 1.19 MB Wed, 27 Mar 2013 15:30:01 -0400
file atkin-cutter.jpg (2045x3067) 864.74 KB Wed, 27 Mar 2013 15:29:57 -0400
file atkin-double-ender.jpg (3003x1654) 974.87 KB Wed, 27 Mar 2013 15:29:54 -0400
file atkin-family.jpg (3142x2084) 1.09 MB Wed, 27 Mar 2013 15:30:03 -0400
file atkin-for-and-aft.jpg (2142x2787) 1.09 MB Wed, 27 Mar 2013 15:30:05 -0400
file atkin-fore-and-aft-2.jpg (2215x2893) 1.15 MB Wed, 27 Mar 2013 15:30:09 -0400
file atkin-launch-2.jpg (3234x1923) 1.07 MB Wed, 27 Mar 2013 15:30:10 -0400
image atkin-launch.jpg (3264x1340) 763.48 KB Wed, 27 Mar 2013 15:30:32 -0400
file atkin-model.jpg (2448x3264) 3.33 MB Wed, 27 Mar 2013 15:30:30 -0400
file atkin-power-boat.jpg (3196x2018) 1.32 MB Wed, 27 Mar 2013 15:30:18 -0400
image atkin-powerboat-2.jpg (3227x893) 565.15 KB Wed, 27 Mar 2013 15:30:11 -0400
file atkin-restless.jpg (2945x2177) 1.04 MB Wed, 27 Mar 2013 15:30:19 -0400
file atkin-wheeler-airplane-1909.jpg (2409x2343) 1.18 MB Wed, 27 Mar 2013 15:30:19 -0400
file atkin-wheeler-boatshop.jpg (3264x2448) 1.62 MB Wed, 27 Mar 2013 15:30:30 -0400
file atkin-wheeler-yard-1913.jpg (4229x2320) 2.33 MB Wed, 27 Mar 2013 15:30:42 -0400
file atkin-wheeler-yard-2.jpg (3264x2448) 1.54 MB Wed, 27 Mar 2013 15:30:28 -0400
file atkin-wheeler-yard.jpg (3196x1957) 1.26 MB Wed, 27 Mar 2013 15:30:37 -0400
file busy-harbor-scene.jpg (3264x2363) 1.39 MB Wed, 27 Mar 2013 15:30:43 -0400
file carver-place-house-2.jpg (2911x1784) 1.14 MB Wed, 27 Mar 2013 15:30:40 -0400
file carver-place-house-4.jpg (3861x2390) 1.95 MB Wed, 27 Mar 2013 15:30:51 -0400
file carver-place-house.jpg (3065x2121) 1.28 MB Wed, 27 Mar 2013 15:30:47 -0400
file club-activities.jpg (3264x1696) 989.79 KB Wed, 27 Mar 2013 15:30:48 -0400
file double-ended-powerboat.jpg (2900x2028) 1.24 MB Wed, 27 Mar 2013 15:30:53 -0400
file dove-mural-10.jpg (5426x3158) 3.15 MB Wed, 27 Mar 2013 15:31:16 -0400
file dove-mural-11.jpg (5393x1630) 1.85 MB Wed, 27 Mar 2013 15:31:14 -0400
file dove-mural-2.jpg (3055x1468) 912.18 KB Wed, 27 Mar 2013 15:30:52 -0400
file dove-mural-3.jpg (3264x1317) 895.12 KB Wed, 27 Mar 2013 15:30:54 -0400
file dove-mural-4.jpg (3264x1581) 1.11 MB Wed, 27 Mar 2013 15:30:57 -0400
file dove-mural-6.jpg (3264x2448) 1.46 MB Wed, 27 Mar 2013 15:31:01 -0400
image dove-mural-7.jpg (3264x1333) 787.42 KB Wed, 27 Mar 2013 15:30:57 -0400
file dove-mural-8.jpg (3205x1572) 940.99 KB Wed, 27 Mar 2013 15:31:22 -0400
file dove-mural-9.jpg (4219x1868) 1.19 MB Wed, 27 Mar 2013 15:31:03 -0400
file dove-mural-shipyard.jpg (5301x3665) 3.65 MB Wed, 27 Mar 2013 15:31:28 -0400
file dove-mural-with-ship-1.jpg (3120x2342) 1.47 MB Wed, 27 Mar 2013 15:31:14 -0400
file dove-mural-with-ship-2.jpg (3264x2448) 1.63 MB Wed, 27 Mar 2013 15:31:30 -0400
file dove-mural.jpg (3264x1678) 1.03 MB Wed, 27 Mar 2013 15:31:24 -0400
file dove-mural12.jpg (5276x3583) 3.72 MB Wed, 27 Mar 2013 15:31:47 -0400
file engine-1913.jpg (2037x2521) 964.53 KB Wed, 27 Mar 2013 15:31:30 -0400
image first-boatshop.jpg (2560x1691) 762.46 KB Wed, 27 Mar 2013 15:31:29 -0400
file fore-and-aft.jpg (1523x2852) 843.94 KB Wed, 27 Mar 2013 15:31:37 -0400
file frozen-bay-1913-a.jpg (2886x1950) 893.5 KB Wed, 27 Mar 2013 15:31:37 -0400
image frozen-harbor-1913.jpg (2649x1471) 613.22 KB Wed, 27 Mar 2013 15:31:37 -0400
file harbor-circa-1913.jpg (3264x1809) 2.61 MB Wed, 27 Mar 2013 15:31:53 -0400
file huntington-harbor-dried-out.jpg (3933x2877) 6.55 MB Wed, 27 Mar 2013 15:32:32 -0400
file huntington-harbor-mudflats.jpg (3264x2448) 1.52 MB Wed, 27 Mar 2013 15:31:52 -0400
file huntington-winter-1913a.jpg (3179x1729) 1.1 MB Wed, 27 Mar 2013 15:31:48 -0400
Image Name Filesize Timestamp

Next Page

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>
</body>
</html>"
;
?>