Jump to content

[SOLVED] Listing Files


_OwNeD.YoU_

Recommended Posts

Hi guys, trying list a couple of directories on one page, but i failed, it just keeps loading it over and over and messing up, is there a better way of doing this.

thanks guys

 

my index page

<table width="352" height="406" border="2">
<tr><td width="164">Shure</td><td width="170"></td></tr>
<tr><td>Listen Technologies</td><td><?php include 'includes/listen_tech.php'; ?></td></tr>
<tr><td>Zaolla</td><td><?php include 'includes/zaolla.php'; ?></td></tr>
<tr><td>Furman</td><td><?php include 'includes/furman.php'; ?></td></tr>
<tr><td>QSC</td><td><?php include 'includes/qsc.php'; ?></td></tr>
<tr><td>Boston Acoustics</td><td><?php include 'includes/boston_aco.php'; ?></td></tr>
<tr><td>LynTec</td><td><?php include 'includes/lyntec.php'; ?></td></tr>
<tr><td>Allen & Heath</td><td><?php include 'includes/allen-heath.php'; ?></td></tr>
<tr><td>Da-Cappo</td><td><?php include 'includes/da-cappo.php'; ?></td></tr>
<tr><td>D & M Pro</td><td><?php include 'includes/d-m-pro.php'; ?></td></tr>
<tr><td>SKB</td><td><?php include 'includes/skb.php'; ?></td></tr>
<tr><td>Shure</td><td><?php include 'includes/shure.php'; ?></td></tr>
</table>

 

 

 

and the directory list

<?
$startdir = '.';
$showthumbnails = true; 
$showdirs = true;
$forcedownloads = false;
$hide = array(
			'dlf',
			'index.php',
			'Thumbs',
			'.htaccess',
			'.htpasswd'
		);
$displayindex = false;
$overwrite = false;
$indexfiles = array (
			'index.html',
			'index.htm',
			'default.htm',
			'default.html'
		);
$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',
		);
error_reporting(0);
if(!function_exists('imagecreatetruecolor')) $showthumbnails = false;
$leadon = $startdir;
if($leadon=='.') $leadon = '';
if((substr($leadon, -1, 1)!='/') && $leadon!='') $leadon = $leadon . '/';
$startdir = $leadon;

if($_GET['dir']) {
//check this is okay.

if(substr($_GET['dir'], -1, 1)!='/') {
	$_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'], 0, 1)=='/') {
	$dirok = false;
}

if($dirok) {
	 $leadon = $leadon . $_GET['dir'];
}
}


$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;
		}
}
closedir($handle); 
}

//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">
  <div id="listingcontainer">
    <div id="listing">
      <?
$class = 'b';
if($dirok) {
?>
      <div><a href="<?=$_SERVER['PHP_SELF'].'?dir='.urlencode($dotdotdir);?>" class="<?=$class;?>"><img src="dlf/dirup.png" alt="Folder" /><strong>..</strong></a></div>
      <?
	if($class=='b') $class='w';
	else $class = 'b';
}
$arsize = sizeof($dirs);
for($i=0;$i<$arsize;$i++) {
?>
      <div><a href="<?=$_SERVER['PHP_SELF'].'?dir='.urlencode($leadon.$dirs[$i]);?>" class="<?=$class;?>"><img src="dlf/folder.png" alt="<?=$dirs[$i];?>" /><strong>
        <?=$dirs[$i];?>
        </strong>
        </a></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 src="dlf/trans.gif" alt="'.$files[$i].'" name="thumb'.$i.'" /></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], 0, 40) . '...';
	}

	$fileurl = $leadon . $files[$i];
	if($forcedownloads) {
		$fileurl = $_SESSION['PHP_SELF'] . '?dir=' . urlencode($leadon) . '&download=' . urlencode($files[$i]);
	}

?>
      <div><a href="<?=$fileurl;?>" class="<?=$class;?>"<?=$thumb2;?>><img src="dlf/<?=$icon;?>" alt="<?=$files[$i];?>" /><strong>
        <?=$filename;?>
        </strong>
        <?=$thumb;?>
        </a></div>
      <?
	if($class=='b') $class='w';
	else $class = 'b';	
}	
?>
    </div>
  </div>
</div>
</body>
</html>

 

 

Link to comment
https://forums.phpfreaks.com/topic/149694-solved-listing-files/
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.