Scripts

Directory uitlezen

Dit script kan worden gebruik voor het uilezen van een directory als er al bevoorbeeld een index.php bestand is. Alles kan worden ingesteld op de eerste lijntjes Script kan je hier downloaden: http://www.dark.uwhost2.net/scripts/explorer/explorer.zip

directory-uitlezen
/*-------------------------------------------------------------------------------------------
>>>>>>>>>>>>>index.php
-------------------------------------------------------------------------------------------*/
[code]<?php
error_reporting(E_ALL);
set_time_limit(0);
ob_implicit_flush();
/*
	Config variabelen
*/
$cfg['plugins']='plugins/'; //plugins directory
$cfg['root']='/public_html'; // De begin directory
$cfg['dir_t']='';
$cfg['dir']=$cfg['root'];
$cfg['notshow']=array();
$cfg['length_file']=40; //De uitleg van een bestand word afgekapt achter
/*
	Plugins laden
*/
$plugins=scandir($cfg['plugins']);
$c_plugins=count($plugins);
for($a=0;$a<$c_plugins;$a++){
	if($plugins[$a] != '.' && $plugins[$a] != '..' && is_file($cfg['plugins'].$plugins[$a])){
		include($cfg['plugins'].$plugins[$a]);
	}
}
/*
	?dir behandelen
*/
If(isset($_GET['dir'])){
	$parts=explode('.', $_GET['dir']);
	$ext=strtolower($parts[count($parts)-1]);
	if(is_dir($cfg['root'].'/'.$_GET['dir'])  && substr_count($_GET['dir'], '../') == 0 ){
		$cfg['dir']=$cfg['root'].'/'.$_GET['dir'];
		$cfg['dir']=str_replace('//', '/', $cfg['dir']);
		$cfg['dir_t']=$_GET['dir'];
		$cfg['dir_t']=str_replace('//', '/', $cfg['dir_t']);
	}
	elseif(is_file($cfg['root'].'/'.$_GET['dir']) && substr_count($_GET['dir'], '../') == 0){
		header('Location: /'.$_GET['dir']);
	}
	else{
		$canthandle=$_GET['dir'];
	}
}
/*
	Directory ophalen
*/
$files=scandir($cfg['dir']);
$count=count($files);
$b=0;
if($count == 2){
	unset($files);
	$files[]='..';
	$files[]='';
	$count = 2;
}
for($a=0;$a<$count;$a++){
	if($files[$a] == '..'){
		$higher_level=TRUE;
	}
	elseif($files[$a] != '.' && !in_array($cfg['dir'].'/'.$files[$a], $cfg['notshow'])){
		$files_g[]=$files[$a];
		$b++;
	}
}
natcasesort($files_g);
unset($files);
foreach($files_g as $file){
	if($file != ''){
		if(is_dir($cfg['dir'].'/'.$file)){
			$dirs[]=array($file, handlesize($cfg['dir'].'/'.$file), 'Map', date('d/m/Y H:i', filemtime($cfg['dir'].'/'.$file)));
		}
		else{
			$files[]=array($file, handlesize($cfg['dir'].'/'.$file, 1), handlelength(handledescriptrion($file), $cfg['length_file']), date('d/m/Y H:i', filemtime($cfg['dir'].'/'.$file)));
		}
	}
}
/*
	Html headers
*/
?>
<html>
	<head>
		<title><?=$cfg['dir_t'];?></title>
		<style type="text/css">
		body{
			background: #F7F7F7;
		}
		body,td{
			color: #000000;
			margin: 0px;
			font-family: Tahoma;
			font-size: 11px;
		}
		A:link  {
			color : #000000;
			text-decoration: none;
		}
		A:visited  {
			color : #000000;
			text-decoration: none;
		}
		A:hover  {
			color : #000000;
			text-decoration: none;
		}
		A:active  {
			color : #000000;
			text-decoration: none;
		}
		img{
			border: 0px;	
		}
		td.title{
			border: 1px solid #F7F7F7;
		}
		</style>
	</head>
<body>

<table width="100%" cellspacing="0" cellpadding="0">
<tr><td bgcolor="#F3F3F3" style="height: 40px;padding-left: 5px;" valign="middle">
<a href="javascript:history.back()" title="Vorige"><img src="img/vorige.png" alt="Vorige"></a>&nbsp;&nbsp;&nbsp;&nbsp
<a href="javascript:history.next()" title="Volgende"><img src="img/volgende.png" alt="Volgende"></a>&nbsp;&nbsp;&nbsp;&nbsp
<?php
	if(isset($higher_level)){
		$parts=explode('/', $cfg['dir']);
		$to='';
		for($a=0;$a<count($parts)-1;$a++){
			$to.='/'.$parts[$a];
		}
		$to=str_replace('//', '/', $to);
		$to=str_replace($cfg['root'].'/', '', $to);
		if(empty($_GET['dir']))$_GET['dir']='';
		if($to != '/' && $_GET['dir'] != '' && $to != ''){
			if($to == $cfg['root']){
				$to='';
			}
				echo '<a href="?dir='.$to.'" title="omhoog"><img src="img/omhoog.png" alt="omhoog"></a>';
		}
		else{
			echo '<img src="img/omhoog_dark.png" alt="omhoog">';
		}
	}
	else{
		echo '<img src="img/omhoog_dark.png" alt="omhoog">';
	}	
	if(isset($canthandle)){
		echo '<br>Er is een fout opgetreden bij het openen van '.$canthandle;
	}	
?>
</td></tr>
</table>
<?php
/*
	Directory echoen
*/
$files=array_merge((isset($dirs))?$dirs:array(), (isset($files))?$files:array());
$count=count($files);
	for($a=0;$a<$count;$a++){
			echo handlefile($files[$a], $a, $count);
	}

/*
	Einde van html
*/	
?>
</body>
</html>[/code]

/*-------------------------------------------------------------------------------------------
>>>>>>>>>>>>>plugins/handlefile.php
-------------------------------------------------------------------------------------------*/
<?php
function handlefile($file, $a, $count){
	global $cfg;
	$return='';
	if($a == 0){
		$return.='<table cellspacing="0" cellpadding="0" align="left" width="100%">'."\n";
		$return.='<tr><td colspan="2" width="40%" bgcolor="#EBEADB" class="title">Naam</td><td bgcolor="#EBEADB" class="title" width="15%">Grootte</td><td bgcolor="#EBEADB" class="title" width="20%">Type</td><td bgcolor="#EBEADB" class="title" width="25%">Gewijzigd op</td></tr>'."\n";
	}
	if($file == ''){
		echo '';
	}
	else{
		$return.='<tr><td width="1%" bgcolor="#F7F7F7"><a href="?dir='.$cfg['dir_t'].'/'.$file[0].'"><img src="'.handleicon($cfg['dir'].'/'.$file[0]).'"></a></td><td bgcolor="#F7F7F7">&nbsp;<a href="?dir='.$cfg['dir_t'].'/'.$file[0].'">'.$file[0].'</a></td><td bgcolor="#FFFFFF">'.remake($file[1]).'</td><td bgcolor="#FFFFFF">'.$file[2].'</td><td bgcolor="#FFFFFF">'.$file[3].'</td></tr>'."\n";
	}
	if($a == $count-1){
		$return.='</table>'."\n";	
	}
	return $return;
}
?>
/*-------------------------------------------------------------------------------------------
>>>>>>>>>>>>>plugins/handleicon.php
-------------------------------------------------------------------------------------------*/
<?php
$icons = array();
$icons['php'] = array('php','');
$icons['css'] = array('ini', 'Document met trapsgewijs opmaakmodel');
$icons['jpg'] = array('jpg', 'JPEG-afbeelding');
$icons['jpeg'] = array('jpg', 'JPEG-afbeelding');
$icons['db'] = array('db', '');
$icons['dll'] = array('db', '');
$icons['ttf'] = array('ttf', '');
$icons['txt'] = array('txt', 'Tekstdocument');
$icons['log'] = array('txt', 'Tekstdocument');
$icons['png'] = array('png', 'PNG-afbeelding');
$icons['gif'] = array('png', 'GIF-afbeelding');
$icons['zip'] = array('zip', 'WinZip-bestand');
$icons['wmv'] = array('mpg', 'Audio-/videobestand van Windows Media');
$icons['exe'] = array('exe', 'Toepassing');
$icons['js'] = array('js', 'JScript Script File');
$icons['htm'] = array('html', '');
$icons['html'] = array('html', '');
$icons['htaccess'] = array('ini', '');
$icons['ini'] = array('ini', 'Configuratie-instellingen');
$icons[''] = array('folder', '');
function handledescriptrion($file){
	global $icons;
	$parts=explode('.', $file);
	$ext=strtolower($parts[count($parts)-1]);
	if(isset($icons[$ext]) && $icons[$ext][1] != ''){
		return $icons[$ext][1];
	}
	else{
		return ucfirst($ext).'-bestand';
	}
}
function handleicon($file){
	global $icons;
	$parts=explode('.', $file);
	$ext=strtolower($parts[count($parts)-1]);
	if(isset($icons[$ext]) && !is_dir($file)){
		return 'img/'.$icons[$ext][0].'.png';
	}
	elseif(is_dir($file)){
		return 'img/folder.png';
	}
	else{
		return 'img/unknow.png';
	
	}
}
?>
/*-------------------------------------------------------------------------------------------
>>>>>>>>>>>>>plugins/handlelength.php
-------------------------------------------------------------------------------------------*/
<?php
function handlelength($string, $length){
	if(strlen($string) > $length-3){
		return substr($string, 0, $length-1).'...';
	}
	else{
		return $string;
	}
}
?>
/*-------------------------------------------------------------------------------------------
>>>>>>>>>>>>>plugins/handlesize.php
-------------------------------------------------------------------------------------------*/
<?php
function remake($size){
	if(is_numeric($size)){
		if($size < 1024){
			$size=$size.' b';
		}
		elseif($size < 1048576){
			$size=round($size/1024, 1).' Kb';
		}
		elseif($size < 1073741824){
			$size=round($size/1048576, 2).' Mb';
		}
		elseif($size < 1099511627776){
			$size=round($size/1073741824, 3).' Gb';
		}
		$size=str_replace('.', ',', $size);
	}
	return $size;
}	
function handlesize($file, $isint=0){
	if(is_file($file)){
		$size=(float) (filesize($file));
	}
	elseif(is_dir($file)){
		$files=scandir($file);
		$c_files=0;
		$c_dirs=0;
		for($a=0;$a<count($files);$a++){
			if($files[$a] != '.' && $files[$a] != '..'){
				if(is_file($file.'/'.$files[$a])){
					$c_files++;
				}
				else{
					$c_dirs++;
				}
			}
		}
		$size='('.$c_dirs.' mappen en '.$c_files.' bestanden)';
	}
	if(is_numeric($size) && $isint==0){
		$size=remake($size);
	}
		return $size;
}
?>

Reacties

0
Nog geen reacties.