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; ">
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; "> <?=$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; "><? } ?> <?=$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; "> </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; "> <? 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; "> </div>
</div>
</div>
</body>
</html>
<?
}
?>
[/code]
Reacties
0