Basically I am trying to open to merge two lots of open source code.
The first is a tool called shadow box and the other is some php display directory. Please view www.feltham-bees.co.uk/photos/pictures.php to have a gander!
My first issue was that the shadowbox was appearing for all links including directories. I have now fixed that but have two folders appear in the directory because of the echo me thinks. I was wondering if any of you chaps could point me in the right direction.
Always much love
Bobby
Quote
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link rel="stylesheet" type="text/css" href="../shadowbox/style.css">
<script type="text/javascript" src="../src/adapter/shadowbox-base.js"></script>
<script type="text/javascript" src="../src/shadowbox.js"></script>
<script type="text/javascript">
Shadowbox.loadSkin('classic', '../src/skin');
Shadowbox.loadLanguage('en', '../src/lang');
Shadowbox.loadPlayer(['flv', 'html', 'iframe', 'img', 'qt', 'swf', 'wmp'], '../src/player');
window.onload = function(){
Shadowbox.init();
};
</script>
<!--style type="text/css">
body {
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 11px;
font-style: normal;
font-weight: normal;
font-variant: normal;
text-transform: none;
color: #333333;
text-decoration: none;
padding: 20px;
}
img {
border: 0px;
}
a {
color: #333333;
text-decoration: none;
}
a:hover {
color: #0066FF;
}
</style>
-->
</head>
<body>
<div align="center"><img src="../Images/titles/photoalbum.jpg" align="middle" /><br /></div>
<?
// install variables
$host = "http://www.feltham-bees.co.uk/"; // the folder where index.php is located
// path for folder, file, buttons(back and home) images
$img_back="../Images/back.gif";
$img_folder="../Images/folder.gif";
$img_file="../Images/file.gif";
$img_home="../Images/home.gif";
// end of install variables
// returns the extension of a file
function strip_ext($name)
{
$ext = substr($name, strlen($ext)-4, 4);
if(strpos($ext,'.') === false) // if we have a folder element
{
return " "; // we return a string of space characters for later sort,
// so that the folder items remain on the first positions
}
return $ext; // if we have a file we return the extension - .gif, .jpg, etc.
}
// returns the files from the $path and returns them in an array
function getFiles($path) {
$files = array();
$fileNames = array();
$i = 0;
// build
if (is_dir($path)) {
if ($dh = opendir($path)) {
while (($file = readdir($dh)) !== false) {
if (($file == ".") || ($file == "..")) continue;
$fullpath = $path . "/" . $file;
//$fkey = strtolower($file);
$fkey = $file;
while (array_key_exists($fkey,$fileNames)) $fkey .= " ";
$a = stat($fullpath);
$files[$fkey]['size'] = $a['size'];
if ($a['size'] == 0) $files[$fkey]['sizetext'] = "-";
else if ($a['size'] > 1024 && $a['size'] <= 1024*1024) $files[$fkey]['sizetext'] = (ceil($a['size']/1024*100)/100) . " K";
else if ($a['size'] > 1024*1024) $files[$fkey]['sizetext'] = (ceil($a['size']/(1024*1024)*100)/100) . " Mb";
else $files[$fkey]['sizetext'] = $a['size'] . " bytes";
$files[$fkey]['name'] = $file;
$e = strip_ext($file); // $e is the extension - for example, .gif
$files[$fkey]['type'] = filetype($fullpath); // file, dir, etc
$k=$e.$file; // we use this string for sorting the array elements by extension and filename;
$fileNames[$i++] = $k;
}
closedir($dh);
} else die ("Cannot open directory: $path");
} else die ("Path is not a directory: $path");
sort($fileNames,SORT_STRING); // sorting
$sortedFiles = array();
$i = 0;
foreach($fileNames as $f) {
$f = substr($f, 4, strlen($f)-4); // we remove the extension we added in front of the filename for sorting
if($files[$f]['name'] !='') $sortedFiles[$i++] = $files[$f];
}// ends the foreach where we build the final sorted array
return $sortedFiles;
}
// folder navigation code
$startdir = "./";
if(isset($_GET['dir'])) {
$prev = $_GET['dir'];
$folder = $_GET['dir'];
echo "<a href=\"java script:history.go(-1)\"><img src=\"$img_back\"></a> <a href=\"$host\"><img src=\"$img_home\"></a> <br/><br/>";
} else { $folder = $startdir;} //$prev='';}
// end folder navigation code
$files = getFiles($folder);
foreach ($files as $file) {
if(strip_ext($file[name])!='.php'){
$image = $img_file;
if($file[type]=='dir') {
$image = $img_folder;
$cmd='?dir='.$prev.$file[name].'/';
echo "<a href=\"$cmd\" title=\"$file[type], $file[sizetext]\"><img src=\"$image\" /> $file[name]</a> <br/>";
}// if the element is a directory
else $cmd=$prev.$file[name];
echo "<a rel=\"shadowbox\" href=\"$cmd\" title=\"$file[type], $file[sizetext]\"><img src=\"$image\" /> $file[name]</a> <br/>";
}//if strip_ext
}//foreach
$indexCount = count($startdir);
Print ("$indexCount files<br>\n");
?>
</body>
</html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link rel="stylesheet" type="text/css" href="../shadowbox/style.css">
<script type="text/javascript" src="../src/adapter/shadowbox-base.js"></script>
<script type="text/javascript" src="../src/shadowbox.js"></script>
<script type="text/javascript">
Shadowbox.loadSkin('classic', '../src/skin');
Shadowbox.loadLanguage('en', '../src/lang');
Shadowbox.loadPlayer(['flv', 'html', 'iframe', 'img', 'qt', 'swf', 'wmp'], '../src/player');
window.onload = function(){
Shadowbox.init();
};
</script>
<!--style type="text/css">
body {
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 11px;
font-style: normal;
font-weight: normal;
font-variant: normal;
text-transform: none;
color: #333333;
text-decoration: none;
padding: 20px;
}
img {
border: 0px;
}
a {
color: #333333;
text-decoration: none;
}
a:hover {
color: #0066FF;
}
</style>
-->
</head>
<body>
<div align="center"><img src="../Images/titles/photoalbum.jpg" align="middle" /><br /></div>
<?
// install variables
$host = "http://www.feltham-bees.co.uk/"; // the folder where index.php is located
// path for folder, file, buttons(back and home) images
$img_back="../Images/back.gif";
$img_folder="../Images/folder.gif";
$img_file="../Images/file.gif";
$img_home="../Images/home.gif";
// end of install variables
// returns the extension of a file
function strip_ext($name)
{
$ext = substr($name, strlen($ext)-4, 4);
if(strpos($ext,'.') === false) // if we have a folder element
{
return " "; // we return a string of space characters for later sort,
// so that the folder items remain on the first positions
}
return $ext; // if we have a file we return the extension - .gif, .jpg, etc.
}
// returns the files from the $path and returns them in an array
function getFiles($path) {
$files = array();
$fileNames = array();
$i = 0;
// build
if (is_dir($path)) {
if ($dh = opendir($path)) {
while (($file = readdir($dh)) !== false) {
if (($file == ".") || ($file == "..")) continue;
$fullpath = $path . "/" . $file;
//$fkey = strtolower($file);
$fkey = $file;
while (array_key_exists($fkey,$fileNames)) $fkey .= " ";
$a = stat($fullpath);
$files[$fkey]['size'] = $a['size'];
if ($a['size'] == 0) $files[$fkey]['sizetext'] = "-";
else if ($a['size'] > 1024 && $a['size'] <= 1024*1024) $files[$fkey]['sizetext'] = (ceil($a['size']/1024*100)/100) . " K";
else if ($a['size'] > 1024*1024) $files[$fkey]['sizetext'] = (ceil($a['size']/(1024*1024)*100)/100) . " Mb";
else $files[$fkey]['sizetext'] = $a['size'] . " bytes";
$files[$fkey]['name'] = $file;
$e = strip_ext($file); // $e is the extension - for example, .gif
$files[$fkey]['type'] = filetype($fullpath); // file, dir, etc
$k=$e.$file; // we use this string for sorting the array elements by extension and filename;
$fileNames[$i++] = $k;
}
closedir($dh);
} else die ("Cannot open directory: $path");
} else die ("Path is not a directory: $path");
sort($fileNames,SORT_STRING); // sorting
$sortedFiles = array();
$i = 0;
foreach($fileNames as $f) {
$f = substr($f, 4, strlen($f)-4); // we remove the extension we added in front of the filename for sorting
if($files[$f]['name'] !='') $sortedFiles[$i++] = $files[$f];
}// ends the foreach where we build the final sorted array
return $sortedFiles;
}
// folder navigation code
$startdir = "./";
if(isset($_GET['dir'])) {
$prev = $_GET['dir'];
$folder = $_GET['dir'];
echo "<a href=\"java script:history.go(-1)\"><img src=\"$img_back\"></a> <a href=\"$host\"><img src=\"$img_home\"></a> <br/><br/>";
} else { $folder = $startdir;} //$prev='';}
// end folder navigation code
$files = getFiles($folder);
foreach ($files as $file) {
if(strip_ext($file[name])!='.php'){
$image = $img_file;
if($file[type]=='dir') {
$image = $img_folder;
$cmd='?dir='.$prev.$file[name].'/';
echo "<a href=\"$cmd\" title=\"$file[type], $file[sizetext]\"><img src=\"$image\" /> $file[name]</a> <br/>";
}// if the element is a directory
else $cmd=$prev.$file[name];
echo "<a rel=\"shadowbox\" href=\"$cmd\" title=\"$file[type], $file[sizetext]\"><img src=\"$image\" /> $file[name]</a> <br/>";
}//if strip_ext
}//foreach
$indexCount = count($startdir);
Print ("$indexCount files<br>\n");
?>
</body>
</html>
Help
















