chandlurmark
Gebruiker
- Lid geworden
- 12 mrt 2008
- Berichten
- 58
Hey, ik ben al een tijdje opzoek maar kan het niet vinden. ik heb een mooi script dat de data in een directory laat zien in een tabel. Nu wil ik het laten sorteren op naam of op datum, weet iemand toevallig hoe ik dit doe?
<?php
$file = explode("/",$_SERVER['SCRIPT_FILENAME']);
$fileblocked = $file[sizeof($file)-1]; //outputs: this->filename
$time = explode(" ", microtime());
$startTime = $time[1] + $time[0];
// de cache van de server legen
clearstatcache();
// functie om de grootte om te zetten van bytes naar een duidelijkere grootte
function size($filesize)
{
if($filesize >= 1048576)
$size = number_format(($filesize / 1048576), 2) . " MB";
elseif($filesize >= 1024)
$size = number_format(($filesize / 1024),0) . " KB";
elseif($filesize >= 0)
$size = $filesize . " bytes";
else
$size = "0 bytes";
return $size;
}
// alles in een array zetten
if(isset($_GET['dir'])) $dir = $_GET['dir'];
else $dir = ".";
// mappen...
$openDir = opendir(".");
while (false !== ($dir = readdir($openDir)))
{
if ($dir != "." && $dir != ".." && $dir != "browser" && is_dir($dir))
{
$data['dir'][] = $dir;
}
}
@sort($data['dir']);
closedir($openDir);
// controleren of de dir uit de url wel bestaat
$url = "bad";
if(isset($_GET['dir']))
{
for($i = 0; $i < count($data['dir']); $i++)
{
if($_GET['dir'] == $data['dir'][$i])
{
$url = "good";
break;
}
}
}
if($url == "bad" AND isset($_GET['dir']))
{
echo "niet *****n met de url!";
exit();
}
// bestanden...
if(isset($_GET['dir'])) $dir = $_GET['dir'];
else $dir = ".";
$openDir = opendir($dir);
while(false !== ($file = readdir($openDir)))
{
if (is_file($dir."/".$file) && $file != $fileblocked)
{
$data['file']['name'][] = $file;
$data['file']['url'][] = $dir ."/". $file;
$file = $dir."/".$file;
$data['file']['size'][] = filesize($file);
$data['file']['date'][] = filemtime($file);
$data['file']['type'][] = strtolower(strrchr($file,'.'));
}
}
closedir($openDir);
@asort($data['file']['name']);
//
// oke, alles staat nu in een array. nu kunnen we het makkelijk ophalen.
// nu is het alleen een beetje html met wat php meuk erin om alles weer te geven. het makkelijke dus
//
?>
<html>
<head>
<title>Privé upload voor my TEAM !</title>
<style type="text/css">
<!--
body, td {
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 11px;
color: #000000;
}
.mappen {
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 10px;
color: #000000;
background-color: #CCCCCC;
}
.sub {
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 10px;
color: #333333;
background-color: #FFFFFF;
}
.header {
font-family: Arial, Helvetica, sans-serif;
font-size: 11px;
font-weight: bold;
color: #FFFFFF;
background-color: #1E2983;
}
h2 {
margin: 0px;
padding: 0px;
}
a {
color: #000000;
text-decoration: none;
}
a:hover {
color: #1E2983;
text-decoration: underline;
}
-->
</style>
<script language="JavaScript" type="text/JavaScript">
<!--
function MM_jumpMenu(targ,selObj,restore){ //v3.0
eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
if (restore) selObj.selectedIndex=0;
}
//-->
</script>
</head>
<body bgcolor="#FFFFFF">
<table width="600" border="0" align="center" cellpadding="4" cellspacing="0">
<tr>
<td colspan="3" class="header">Privé upload voor my TEAM !
<h2><? echo "/". htmlspecialchars($_GET['dir']); ?></h2></td>
</tr>
<tr>
<td class="mappen"> <select class="mappen" name="dirs" onChange="MM_jumpMenu('parent',this,0)">
<option value="#" selected>Kies een ****ing map</option>
<option value="#">-----------------</option>
<option value="?">/</option>
<?php
for($i = 0; $i < count($data['dir']); $i++)
{
echo " <option value=\"?dir=". $data['dir'][$i] ."\">/". $data['dir'][$i] ."</option><br>\n";
}
?>
</select> </td>
<td colspan="2" align="right" class="mappen"><a href="upload.php?dir=<?=$_GET['dir']; ?>"></a></td>
</tr>
<tr>
<td bgcolor="#FFFFFF"><b>Bestandsnaam</b></td>
<td bgcolor="#FFFFFF" width="70"><b>Grootte</b></td>
<td bgcolor="#FFFFFF" width="70"><b>Datum</b></td>
</tr>
<?php
$number = count($data['file']['name']);
if($number == "0")
{
echo " <tr>\n";
echo " <td colspan=\"4\" bgcolor=\"#FFFFFF\" align=\"center\">Deze map is nog helemaal leeg!</td>\n";
echo " </tr>\n";
}
else
{
for($i = 0; $i < $number; $i++)
{
$bgcolor = ($i % 2) ? "#f5f5f5" : "#ffffff";
echo " <tr>\n";
echo " <td bgcolor=\"". $bgcolor ."\" width=\"460\"><a target=\"scherm\" href=\"". htmlspecialchars($data['file']['url'][$i]) ."\">". htmlspecialchars($data['file']['name'][$i]) ."</a></td>\n";
echo " <td bgcolor=\"". $bgcolor ."\" width=\"70\">". size($data['file']['size'][$i]) ."</td>\n";
echo " <td bgcolor=\"". $bgcolor ."\" width=\"70\">". date("d-m-y", $data['file']['date'][$i]) ."</td>\n";
echo " </tr>\n";
}
}
?>
<tr>
<td colspan="3" bgcolor="#FFFFFF" height="6"> </td>
</tr>
<tr>
<td class="mappen"> <select class="mappen" name="dirs" onChange="MM_jumpMenu('parent',this,0)">
<option value="#" selected>Kies een ****ing map</option>
<option value="#">-----------------</option>
<option value="index.php">/</option>
<?php
for($i = 0; $i < count($data['dir']); $i++)
{
echo " <option value=\"?dir=". $data['dir'][$i] ."\">/". $data['dir'][$i] ."</option><br>\n";
}
?>
</select> </td>
<td colspan="2" align="right" class="mappen"> </td>
</tr>
<tr>
<td height="20" colspan="3" class="sub" align="center">
</td>
</tr>
</table>
</body>
</html>
<?php
$file = explode("/",$_SERVER['SCRIPT_FILENAME']);
$fileblocked = $file[sizeof($file)-1]; //outputs: this->filename
$time = explode(" ", microtime());
$startTime = $time[1] + $time[0];
// de cache van de server legen
clearstatcache();
// functie om de grootte om te zetten van bytes naar een duidelijkere grootte
function size($filesize)
{
if($filesize >= 1048576)
$size = number_format(($filesize / 1048576), 2) . " MB";
elseif($filesize >= 1024)
$size = number_format(($filesize / 1024),0) . " KB";
elseif($filesize >= 0)
$size = $filesize . " bytes";
else
$size = "0 bytes";
return $size;
}
// alles in een array zetten
if(isset($_GET['dir'])) $dir = $_GET['dir'];
else $dir = ".";
// mappen...
$openDir = opendir(".");
while (false !== ($dir = readdir($openDir)))
{
if ($dir != "." && $dir != ".." && $dir != "browser" && is_dir($dir))
{
$data['dir'][] = $dir;
}
}
@sort($data['dir']);
closedir($openDir);
// controleren of de dir uit de url wel bestaat
$url = "bad";
if(isset($_GET['dir']))
{
for($i = 0; $i < count($data['dir']); $i++)
{
if($_GET['dir'] == $data['dir'][$i])
{
$url = "good";
break;
}
}
}
if($url == "bad" AND isset($_GET['dir']))
{
echo "niet *****n met de url!";
exit();
}
// bestanden...
if(isset($_GET['dir'])) $dir = $_GET['dir'];
else $dir = ".";
$openDir = opendir($dir);
while(false !== ($file = readdir($openDir)))
{
if (is_file($dir."/".$file) && $file != $fileblocked)
{
$data['file']['name'][] = $file;
$data['file']['url'][] = $dir ."/". $file;
$file = $dir."/".$file;
$data['file']['size'][] = filesize($file);
$data['file']['date'][] = filemtime($file);
$data['file']['type'][] = strtolower(strrchr($file,'.'));
}
}
closedir($openDir);
@asort($data['file']['name']);
//
// oke, alles staat nu in een array. nu kunnen we het makkelijk ophalen.
// nu is het alleen een beetje html met wat php meuk erin om alles weer te geven. het makkelijke dus

//
?>
<html>
<head>
<title>Privé upload voor my TEAM !</title>
<style type="text/css">
<!--
body, td {
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 11px;
color: #000000;
}
.mappen {
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 10px;
color: #000000;
background-color: #CCCCCC;
}
.sub {
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 10px;
color: #333333;
background-color: #FFFFFF;
}
.header {
font-family: Arial, Helvetica, sans-serif;
font-size: 11px;
font-weight: bold;
color: #FFFFFF;
background-color: #1E2983;
}
h2 {
margin: 0px;
padding: 0px;
}
a {
color: #000000;
text-decoration: none;
}
a:hover {
color: #1E2983;
text-decoration: underline;
}
-->
</style>
<script language="JavaScript" type="text/JavaScript">
<!--
function MM_jumpMenu(targ,selObj,restore){ //v3.0
eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
if (restore) selObj.selectedIndex=0;
}
//-->
</script>
</head>
<body bgcolor="#FFFFFF">
<table width="600" border="0" align="center" cellpadding="4" cellspacing="0">
<tr>
<td colspan="3" class="header">Privé upload voor my TEAM !
<h2><? echo "/". htmlspecialchars($_GET['dir']); ?></h2></td>
</tr>
<tr>
<td class="mappen"> <select class="mappen" name="dirs" onChange="MM_jumpMenu('parent',this,0)">
<option value="#" selected>Kies een ****ing map</option>
<option value="#">-----------------</option>
<option value="?">/</option>
<?php
for($i = 0; $i < count($data['dir']); $i++)
{
echo " <option value=\"?dir=". $data['dir'][$i] ."\">/". $data['dir'][$i] ."</option><br>\n";
}
?>
</select> </td>
<td colspan="2" align="right" class="mappen"><a href="upload.php?dir=<?=$_GET['dir']; ?>"></a></td>
</tr>
<tr>
<td bgcolor="#FFFFFF"><b>Bestandsnaam</b></td>
<td bgcolor="#FFFFFF" width="70"><b>Grootte</b></td>
<td bgcolor="#FFFFFF" width="70"><b>Datum</b></td>
</tr>
<?php
$number = count($data['file']['name']);
if($number == "0")
{
echo " <tr>\n";
echo " <td colspan=\"4\" bgcolor=\"#FFFFFF\" align=\"center\">Deze map is nog helemaal leeg!</td>\n";
echo " </tr>\n";
}
else
{
for($i = 0; $i < $number; $i++)
{
$bgcolor = ($i % 2) ? "#f5f5f5" : "#ffffff";
echo " <tr>\n";
echo " <td bgcolor=\"". $bgcolor ."\" width=\"460\"><a target=\"scherm\" href=\"". htmlspecialchars($data['file']['url'][$i]) ."\">". htmlspecialchars($data['file']['name'][$i]) ."</a></td>\n";
echo " <td bgcolor=\"". $bgcolor ."\" width=\"70\">". size($data['file']['size'][$i]) ."</td>\n";
echo " <td bgcolor=\"". $bgcolor ."\" width=\"70\">". date("d-m-y", $data['file']['date'][$i]) ."</td>\n";
echo " </tr>\n";
}
}
?>
<tr>
<td colspan="3" bgcolor="#FFFFFF" height="6"> </td>
</tr>
<tr>
<td class="mappen"> <select class="mappen" name="dirs" onChange="MM_jumpMenu('parent',this,0)">
<option value="#" selected>Kies een ****ing map</option>
<option value="#">-----------------</option>
<option value="index.php">/</option>
<?php
for($i = 0; $i < count($data['dir']); $i++)
{
echo " <option value=\"?dir=". $data['dir'][$i] ."\">/". $data['dir'][$i] ."</option><br>\n";
}
?>
</select> </td>
<td colspan="2" align="right" class="mappen"> </td>
</tr>
<tr>
<td height="20" colspan="3" class="sub" align="center">
</td>
</tr>
</table>
</body>
</html>