Scripts

Bestands verkenner

Een soort windows verkenner alleen dan in php, afbeeldingen zijn hier te downloaden. Kijk maar eens wat je er van vindt, commentaar en reacties altijd welkom :) script is trouwens ook hier te downloaden ;)

bestands-verkenner
[code]
<?
######################################################################################################
//											INSTELLINGEN											\\
######################################################################################################

// Naam van de pagina
$pagina = "verkenner.php";

// Te verkennen map
$map = "bestanden/";

// Naam van de root
$naam_root = "Bestanden";

// Map waar icoontjes staan opgeslagen
$map_icoontjes = "img/";

// Array met verschillende bestands extenties en daar achter het afbeeldinkje
$file_icon = array('jpg' => 'img_jpg.gif', 
					'JPG' => 'img_jpg.gif', 
					'jpeg' => 'img_jpg.gif', 
					'JPEG' => 'img_jpg.gif',
					'gif' => 'img_gif.gif', 
					'GIF' => 'img_gif.gif',
					'png' => 'img_png.gif', 
					'PNG' => 'img_png.gif',
					'bmp' => 'img_bmp.gif', 
					'BMP' => 'img_bmp.gif',
					'PDF' => 'img_pdf.gif', 
					'pdf' => 'img_pdf.gif',
					'doc' => 'img_doc.gif', 
					'docx' => 'img_doc.gif', 
					'DOC' => 'img_doc.gif', 
					'DOCX' => 'img_doc.gif',
					'XLT' => 'img_xlt.gif', 
					'xlt' => 'img_xlt.gif', 
					'xml' => 'img_xlt.gif', 
					'XML' => 'img_xlt.gif', 
					'xls' => 'img_xlt.gif', 
					'XLS' => 'img_xlt.gif', 
					'xlw' => 'img_xlt.gif', 
					'XLW' => 'img_xlt.gif',
					'txt' => 'img_txt.gif', 
					'TXT' => 'img_txt.gif',
					'htm' => 'img_html.gif', 
					'html' => 'img_html.gif', 
					'HTM' => 'img_html.gif', 
					'HTML' => 'img_html.gif', 
					'xml' => 'img_html.gif', 
					'XML' => 'img_html.gif', 
					'css' => 'img_html.gif', 
					'CSS' => 'img_html.gif', 
					'php' => 'img_html.gif', 
					'PHP' => 'img_html.gif', 
					'php3' => 'img_html.gif', 
					'PHP3' => 'img_html.gif', 
					'php4' => 'img_html.gif', 
					'PHP4' => 'img_html.gif', 
					'php5' => 'img_html.gif', 
					'PHP5' => 'img_html.gif');
######################################################################################################
//											SCRIPT													\\
######################################################################################################
$start_dir = substr($_GET["folder"], 0, 1);
$end_dir = substr($_GET["folder"], -1);
if(($start_dir == '.') || ($start_dir == '/'))
	{
	?><h2>Wegwezen :)</h2><?
	}
if(($end_dir == './') || ($end_dir == './/'))
	{
	?><h2>Wegwezen :)</h2><?
	}
if(($start_dir != '.') && ($start_dir != '/') && ($end_dir != './') && ($end_dir != './/'))
	{
	?>
	<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
	<html>
	<head>
	<title>Verkenner.php</title>
	<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
	<style>
	BODY
		{
		font-family:Arial, Helvetica, sans-serif;
		font-size:12px;
		margin-top:20px;
		}
	
	#Main
		{
		width:710px;
		margin:auto;
		padding:auto;
		height:auto;
		}
		
	#Map_structuur
		{
		width:300px;
		height:400px;
		padding: 0px 0px 0px 3px;
		margin: 0px 0px 0px 0px;
		border: 1px solid #EEEEEE;
		overflow:scroll;
		float:left;
		background-color:#FFFFFF;
		}
				
		#Map_structuur a
			{
			color: #000000;
			text-decoration:none;
			}
					
				
		#Map_structuur a:hover
			{
			color: #000000;
			text-decoration:underline;
			}
					
	#Map_self
		{
		width:400px;
		height:400px;
		padding: 0px 0px 0px 0px;
		margin: 0px 0px 0px 0px;
		border: 1px solid #EEEEEE;
		overflow:scroll;
		float:left;
		background-color:#FFFFFF;
		}
				
		#Map_self a
			{
			color: #000000;
			text-decoration:none;
			}
					
				
		#Map_self a:hover
			{
			color: #000000;
			text-decoration:none;
			}
	</style>
	
	<script language="javascript" type="text/javascript">
	function link(url)
		{
		window.location.href= url;
		}
	</script>
	
	</head>
	
	<body>
	
	<div id="Main">
	
	<?
	
	function file_size($size, $stap)
				{
				$naam_eenheid = array('1' => 'B', '2' => 'kB', '3' => 'mB', '4' => 'gB');
				if($size >= 1024)
					{
					$size = $size / 1024;
					$stap = $stap + 1;
					file_size($size, $stap);
					}
				
				else
					{
					echo(round($size).$naam_eenheid[$stap]);
					}
				}
	$parts = explode("/", $_GET["folder"]);
	$aantal = count($parts);
	$i = 0;
	while($i < ($aantal-2))
		{
		$vorige .= $parts[$i]."/";
		$i++;
		}
	?>
	
		<div style="background-color: #F2F2EE; border: 1px solid #DDDDDD; width:705px; " id="verkenner">
		
			<a href="javascript:history.go(-1)"><img src="<?=$map_icoontjes?>folder_back.gif" border="0"></a>
			<a href="javascript:history.go(+1)"><img src="<?=$map_icoontjes?>folder_forward.gif" border="0"></a>
			<a href="<?=$pagina?>?folder=<?=$vorige?>#verkenner"><img src="<?=$map_icoontjes?>folder_omhoog.gif" border="0"></a>
			
		</div>
		
		<div style=" padding: 3px 0px 3px 0px; background-color: #F2F2EE; border-left: 1px solid #DDDDDD; border-bottom: 1px solid #DDDDDD; border-right: 1px solid #DDDDDD; width:705px; ">
		
			&nbsp;Adres: <input type="text" value="<?=$naam_root?>:\<?
			$locatie = str_replace("/","\\",$_GET["folder"]);
			echo($locatie); ?>" size="106">
		
		</div>
			
		<div id="Map_structuur">
			
			<div style="background-color:#CCCCCC; padding: 5px 0px 5px 0px; margin: 0px 0px 10px 0px; width:280px; ">
			
				Mappen
			
			</div>
			
			<table cellpadding="0" cellspacing="0" border="0" width="280">
			
				<tr>
			
					<td><a href="<?=$pagina?>?folder=#verkenner"><img src="<?=$map_icoontjes?>disk.gif" border="0" height="18" style="vertical-align: middle; float:left; ">&nbsp;<?=$naam_root?></a></td>
					
				</tr>
			<?
			function verkennen($pagina, $map, $folder, $laag, $parts, $last, $map_icoontjes)
				{
				$parts = explode("/", $_GET["folder"]);
				$aantal = count($parts);
				$dir = $map.$folder;
				
				if ($dh = opendir($dir)) 
					{ 
					while (($file = readdir($dh)) !== false) 
						{
						if($file != "." && $file != "..")
							{
							if(filetype($dir . $file) == "dir")
								{
								?>
								
					<tr>
					
						<td><?
								$not_empty = "";
								
								if ($dh2 = opendir($dir.$file)) 
									{ 
									while (($file2 = readdir($dh2)) !== false) 
										{
										if($file2 != "." && $file2 != "..")
											{
											if(filetype($dir.$file."/".$file2) == "dir")
												{
												$not_empty = $file2;
												}
											} 
										}
									closedir($dh2);
									}
								if(!$not_empty)
									{
									$i = -1;
									while($i < $laag)
										{
										?><img src="<?=$map_icoontjes?>map_not_up<? 
										if($file == $last)
											{
											 if(($laag-1) == $i)
												{
												echo("_end");
												}
											} ?>.gif" style="vertical-align: middle; float:left; "><?
										$i++;
										}
									}
								if($not_empty)
									{
									$i = 0;
									while($i < $laag)
										{
										?><img src="<?=$map_icoontjes?>map_not_up.gif" style="vertical-align: middle; float:left; "><?
										$i++;
										}
									?><a href="<?=$pagina?>?folder=<?=$folder.$file?>/#verkenner"><img src="<?=$map_icoontjes?>map_up<? 
										if($file == $last)
											{
											
												echo("_end");
												
											} ?>.gif" style="vertical-align: middle; float:left; " border="0"></a><?
									}
								?><a href="<?=$pagina?>?folder=<?=$folder.$file?>/#verkenner"><img src="<?=$map_icoontjes?>folder2.gif" border="0" height="18" style="vertical-align: middle; float:left;"><? if($parts[($aantal-2)] == $file) { ?><div style="background-color:#AAAAAA; float:left; margin: 1px 0px 1px 0px; "><? } ?>&nbsp;<?=$file?><? if($parts[($aantal-2)] == $file) { ?></div><? } ?></a></td>
								
					</tr>
								
								<?
								if($parts[$laag] == $file)
									{
									$laag_temp = $laag + 1;
									verkennen($pagina, $map, $folder.$file."/", $laag_temp, $parts, $not_empty, $map_icoontjes);
									}
								
								}
							} 
						}
					closedir($dh);
					}
				} 
				
			$laag = 0;
			$parts = explode("/", "/".$_GET["folder"]);	
			if ($dh2 = opendir($map)) 
				{ 
				while (($file2 = readdir($dh2)) !== false) 
					{
					if($file2 != "." && $file2 != "..")
						{
						if(filetype($map.$file2) == "dir")
							{
							$not_empty = $file2;
							}
						} 
					}
					closedir($dh2);
				}
				
			verkennen($pagina, $map, '', $laag, $parts, $not_empty, $map_icoontjes);
			?>
			
			</table>
			
		</div>
		
		<div id="Map_self">
			
			<table cellpadding="0" cellspacing="0" border="0" width="490">
			
				<tr>
				
					<? 
					if(($_GET["sort"] == "name") OR (!$_GET["sort"])) 
						{ 
						?><td style="background-color:#DDDDDD; border-bottom:1px solid #BBBBBB; border-right:1px solid #BBBBBB;" width="200" onClick="javascript:link('<?=$pagina?>?folder=<?=$_GET["folder"]?>&sort=name_x#verkenner');">Naam <img src="img/sort_up.gif"><? 
						}
					if($_GET["sort"] == "name_x") 
						{ 
						?><td style="background-color:#DDDDDD; border-bottom:1px solid #BBBBBB; border-right:1px solid #BBBBBB;" width="200" onClick="javascript:link('<?=$pagina?>?folder=<?=$_GET["folder"]?>&sort=name#verkenner');">Naam <img src="img/sort_down.gif"><? 
						}
					?></td>
					<td style="background-color:#DDDDDD; border-bottom:1px solid #BBBBBB; border-right:1px solid #BBBBBB;" width="140">Type</td>
					<td style="background-color:#DDDDDD; border-bottom:1px solid #BBBBBB; border-right:1px solid #BBBBBB;" width="50">Grootte</td>
					<td style="background-color:#DDDDDD; border-bottom:1px solid #BBBBBB; border-right:1px solid #BBBBBB;" width="100">Laatst gewijzigd</td>
				
				</tr>
			<?
			$mappen = array();
			
			$dir = $map.$_GET["folder"];
			
			if ($dh = opendir($dir)) 
				{ 
				while (($file = readdir($dh)) !== false) 
					{
					if($file != "." && $file != "..")
						{
						if(filetype($dir . $file) == "dir")
							{
							$mappen[] = $file;
							}
						} 
					}
				closedir($dh);
				}
			if(($_GET["sort"] == "name") OR (!$_GET["sort"]))
				{
				sort($mappen);
				}
			if($_GET["sort"] == "name_x")
				{
				rsort($mappen);
				}
			$i = 0;
			while($i < (count($mappen)))
				{
			?>
							
				<tr onMouseOver="style.backgroundColor = '#EFEFEF';" onMouseOut="style.backgroundColor = '#FFFFFF';">
				
					<td style="font-size:11px; "><a href="#verkenner" onDblClick="javascript:link('<?=$pagina?>?folder=<?=$_GET["folder"]?><?=$mappen[$i]?>/#verkenner');"><img src="<?=$map_icoontjes?>folder2.gif" border="0" height="18" width="18" style="vertical-align: middle;"> <?=$mappen[$i]?></a></td>
					<td style="font-size:11px; ">Bestandsmap</div></td>
					<td style="font-size:11px; ">&nbsp;</td>
					<td style="font-size:11px; "><? echo date("d-m-Y H:i", filectime($dir.$mappen[$i])); ?></td>
				
				</tr>
			<?
				$i++;
				}
			$bestanden = array();
			
			if ($dh = opendir($dir)) 
				{ 
				while (($file = readdir($dh)) !== false) 
					{
					if($file != '.'){ if($file != '..')
						{
						if(filetype($dir . $file) == "file")
							{
							$bestanden[] = $file;
							}
						} 
					}
				}
			}
			
			if(($_GET["sort"] == "name") OR (!$_GET["sort"]))
				{
				sort($bestanden);
				}
			if($_GET["sort"] == "name_x")
				{
				rsort($bestanden);
				}
			$i = 0;
			while($i < (count($bestanden)))
				{
				$parts = explode(".", $bestanden[$i]);
				$aantal_punten = count($parts) - 1;
				$extensie = $parts[$aantal_punten];
	
				?>
							
				<tr onMouseOver="style.backgroundColor = '#EFEFEF';" onMouseOut="style.backgroundColor = '#FFFFFF';">
				
					<td style="font-size:11px; "><a href="#verkenner" onDblClick="window.open('<?=$dir.$bestanden[$i]?>', 'Voorbeeld','status,width=400,height=400,location=no,status=no,menubar=no,directories=no,toolbar=no,resizable=yes,scrollbars=yes'); return false"><img height="18" width="18" src="<?
					if(array_key_exists($extensie, $file_icon))
						{
						echo($map_icoontjes.$file_icon[$extensie]);
						}
					else
						{
						echo($map_icoontjes.'img_else.gif');
						}
					?>" border="0" style="vertical-align: middle;"> <?=substr($bestanden[$i], 0, 32)?> </a></td>
		
		   
					<td style="font-size:11px; "><?=$extensie?>-bestand</td>
					<td style="font-size:11px; "><?
					$size = filesize($dir.$bestanden[$i]);
					$totaal_size += $size;
					file_size($size,"1");
					$totaal_bestanden += 1;
					?></td>
					<td style="font-size:11px; "><? echo date("d-m-Y H:i", filectime($dir.$bestanden[$i])); ?></td>
				
				</tr>
								
			<?
				$icon_file = "";
				$name_type = "";
				$i++;
				}
			?>
			
			</table>
			
			</div>
			
			<div style="background-color: #F2F2EE; border-right: 1px solid #DDDDDD; border-top: 1px solid #DDDDDD; border-bottom: 1px solid #FFFFFF; width:550px; float:left; ">&nbsp;&nbsp;<? if(!$totaal_bestanden) { echo("0"); } if($totaal_bestanden) { echo($totaal_bestanden); } ?> Objecten </div>
			<div style="background-color: #F2F2EE; border-left: 1px solid #FFFFFF; border-top: 1px solid #DDDDDD; border-bottom: 1px solid #FFFFFF; width:50px; float:left; "><?=file_size($totaal_size, "1")?></div>
			<div style="background-color: #F2F2EE; border-left: 1px solid #FFFFFF; border-top: 1px solid #DDDDDD; border-bottom: 1px solid #FFFFFF; width:104px; float:left; ">&nbsp;</div>
			
		</div>
	
	</div>
	
	</body>
	</html>
	<? 
	} 
	?>
[/code]

Reacties

0
Nog geen reacties.