Reacties op het script Directory Indexer
|
Gepost op: 21 april 2005 - 19:48 |
|
|
|
PHP ver gevorderde
|
mooi, alleen zit er een foutje in, je MOET hem index.php noemen of anders krijg je een 404 als je een map opent |
|
|
|
Gepost op: 21 april 2005 - 23:10 |
|
|
|
PHP ver gevorderde
|
Ook mss inbouwen: zorgen dat index.php niet wordt getoont!
Ik heb altijd graag de controle over het feit of bvb .exe bestanden worden getoont of niet... |
|
|
|
Gepost op: 25 april 2005 - 11:42 |
|
|
|
Moderator
|
@MothZone: het is inderdaad beter om (in het script) index.php te vervangen door $_SERVER['PHP_SELF'] zodat het niet uitmaakt waar je je script naar hernoemt.
Directories die je opent, dienen ook weer gesloten te worden.
Op de regels 91 en 131 dient dus nog een closedir($handle); komen te staan.
Verder zou ik, als je dan toch die directories aan het uitlezen bent, meteen bijhouden of het een file of een dir is, en welke grootte deze onderdelen hebben (en welke informatie je nog meer bij wilt houden - je kan een heleboel informatie in een array stoppen), dit zou je niet nog eens moeten gaan bekijken bij het afdrukken (het verzamelen van gegevens en het afdrukken van deze gegevens kun je beter uit elkaar houden).
Ook zou ik 2 arrays maken, $dirs (of een andere naam, $dirs wordt al gebruikt ) en $files, en hier dan respectievelijk enkel directories en enkel files in zetten.
Je hoeft dan ook niet telkens opnieuw te controleren of iets een dir is met is_dir() - dit doe je eenmalig.
Na het lezen van 'de huidige directory' sorteer je beide arrays met asort(), en daarna druk je eerst de directories af, en dan de bestanden, zodat de inhoud van een directory getoond wordt zoals dit normaal ook in een explorer gebeurt...
En mijn servertje vind dsize() niet zo leuk... Is het echt interessant om te weten hoe groot een dir is ?
EDIT: Op windows systemen kun je het volgende doen:
index.php?dir=C:/ |
|
|
|
Gepost op: 25 april 2005 - 21:27 |
|
|
|
Nieuw lid
|
Hoe maak ik index.php onzichtbaar??:?: |
|
|
|
Gepost op: 26 april 2005 - 10:53 |
|
|
|
PHP expert
|
Ik bouw dat er nog wel een keer in. |
|
|
|
Gepost op: 26 april 2005 - 11:21 |
|
|
|
Nieuw lid
|
Citaat: [I][B]werfsmit[/B] schreef op 25 April 2005 - 21:27[/I]
Hoe maak ik index.php onzichtbaar??:?:
Gewoon een array aanmaken met de bestanden die je wil verbergen en met een simpele check, kijken of de $row van dat moment zich in de index bevindt:
$hide = array("index.php","index.html","index.htm",".htaccess");
if (!in_array($row,$hide)) {
// hier de rij afdrukken
}
$hide = array("index.php","index.html","index.htm",".htaccess"); // hier de rij afdrukken }
|
|
|
|
Gepost op: 26 april 2005 - 21:06 |
|
|
|
Nieuw lid
|
Citaat: [I][B]XenoX[/B] schreef op 26 April 2005 - 12:18[/I]
Dan doet hij dat in elke directory
Dat klopt inderdaad, ik ging er vanuit dat het voor elke directory moest worden verborgen ...
Nuja, zoveel meer werk brengt het niet met zich mee om het enkel in de root te verbergen (gewoon checken of de dir = root ..):) :
$hide = array("index.php","index.html","index.htm",".htaccess");
if (!in_array($row,$hide) && $cur_dir != 'Root') {
// hier de rij afdrukken
}
$hide = array("index.php","index.html","index.htm",".htaccess"); if (!in_array($row,$hide) && $cur_dir != 'Root') { // hier de rij afdrukken }
^^ |
|
|
|
Gepost op: 26 april 2005 - 22:41 |
|
|
|
Nieuw lid
|
Ik ben gelukkig maar een noob maar waar moet ik deze array zetten?? |
|
|
|
Gepost op: 27 april 2005 - 14:43 |
|
|
|
Nieuw lid
|
Citaat: [I][B]werfsmit[/B] schreef op 26 April 2005 - 22:41[/I]
Ik ben gelukkig maar een noob maar waar moet ik deze array zetten??
speelt geen rol ...
Gewoon zien dat je de if op de juiste plaats zet .. (in de buurt van lijn 207) |
|
|
|
Gepost op: 27 april 2005 - 20:16 |
|
|
|
Nieuw lid
|
Citaat: [I][B]DjNoiz[/B] schreef op 27 April 2005 - 14:43[/I]
Bedankt
[..quote..]
speelt geen rol ...
Gewoon zien dat je de if op de juiste plaats zet .. (in de buurt van lijn 207) :lamp: |
|
|
|
Gepost op: 26 juli 2005 - 14:07 |
|
|
|
PHP gevorderde
|
moet dat echt zo ingewikkeld, met die gif-codes?:s
hij kan tog ook gewoon de images bij de download zetten? |
|
|
|
Gepost op: 26 juli 2005 - 14:24 |
|
|
|
PHP expert
|
Nu heb je maar 1 bestand, dat is fijner.
Ps. Ik vind het niet ingewikkeld |
|
|
|
Gepost op: 25 augustus 2005 - 23:28 |
|
|
|
SEO guru
|
Misschien een domme vraag, maar kunnen bij word, excel en andere bestanden ook zo'n icoontjes staan?
En het lukt me niet om die index.php weg te krijgen.
Kan anders iemand de kant en klare code hier voor mij posten? Daar leer ik vast nog het meest van. (mits uitleg natuurlijk)
Alvast bedankt.
MVG Pieter |
|
|
|
Gepost op: 24 september 2005 - 19:09 |
|
|
|
Erelid
|
Als je de indexer zelf niet wilt opnemen in het lijstje moet je gewoon controleren of de huidige directory gelijk is aan ./ en het bestand aan index.php .
Hieronder dus de oplossing:
<?php
error_reporting(E_ALL);
if(IsSet($_GET['i']))
{
$i = trim($_GET['i']);
$img['img'] = "R0lGODlhEAAQAPcAAP//////AP8A//8AAAD//wD/AAAA/wAAAPuBhP0RI7Crrr24vL25vn+CmJ6syZ6rxbfF4cbO3srO1oOk4WF4oo6fvpyuzqCvyqKxzKGwy6i30qa10KKxy6Oxy6Kwyb3M57G/2JyovqCswsTR6dDd9crW7NPe8tXg89Hb7uLs/uLr/Njh8eHp9wBe9YaZuYiauYeYtZWmw5mqxqCvyKi30KSyysXW8p+rvqu3ysPQ5tvo/eDr/dzm9uLs/OTt/Njg7eDn8+vy/gxn7Ku92LvO68TQ4uPu/t7p+c/Y5tXe7Nfg7cvb8ejw++vw9+fs87LD2OHu/lem/vH3/lSp/uTx/vP5/snj9+33/qGoqPz+/v3+/lXSYAC1AH3GdS6qHnDIW1OmL+Hp173JqoGaKby9srurRv3slf7dbf7cc/7Xb/7QZ/3SdP7FVd6wUP7LaP6/SP68SeS7cv6vMP62QNycN+CoTN2nTfvt1fueGf6qL/6vN/6xOf65V+C/jP2XEv6eGvmeH/6gI/6iJOCSKM+WR9OZSvjEff6ZG8mCKrB/RNifWv2EAPeAAf6IAuR5BP6JCP6QEMuMSNKTTeC7kbBhEKxdEL9rFqlfFa5iGMR0I45aJsuQVNikcNuugNG8pvLk1v17AO1zAKlUBq5XCL5kE7NiFqBdHplZHrVuLr97PcB/Q690PbF9T9CYY9KujN25l6NJAJtKA5JFBIZKF5NnQcqcdKaGbLVQAKpKAJA/ALGReKuQe+dXBa+ZjKuSh/BvO/55QcY0AN4dA+kwFdsTBv7+/v///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAMYALAAAAAAQABAAAAj3AI0JFJjkh0ElKHI8GMiQiJZiEItJMVGiBsOBWSIWq3ICCBOLDFFN4tTp1acsO4ogAfFiIKlNu3y5aqWqlpMlGiy4MHZL0h0rUaZMCCMmEasVHyBUMJYpkiIyQlpQ+LKlSypbNkbEsFRIYBwsDfp44QLG0KkIJGQgMmOnzpo0atyUGUOIzyUGOhyMaoPmDBs4c/TkAYbgl6gFUC4IrETnzZ48gvAMS0BMlgQjGQbmGiQn0CE/vIQF08QjBQeGsQD9gfSo0SJYvaj0wMBwFiVHjECFwkWLxREVtAcq8LQKUylTuppc8RFkw8UnOG6EEDGEhocZHWAEBAA7";
$img['htm'] = "R0lGODlhEAAQAPcAAFFRg1VVh1RVhldYiVpbi2lqm2BikGdpl25xnnN3o3yBq3l9p2JsnHN/sr3K/77K/3CAsrrK/8rY/8nX/sjW/bfM/8HQ9snY/8bV/MbV+7TM/7PF7KW54bDN/6K33oSj1q3N/5+02Cc8Woir3oep3KvN/6nO/5ulsjFcjyFDaSVDZbvO4+z1/ylrrD53sT9jiXSo3nOUtKHE5rrb+7/f/7TS8Mzl/4+gstPp/9vt//P5//3+/x1fmil6xC9yskGV5EZ3pShEXpS31qjG48Ti/9vq+OTy/+Hs9uz2/zCV7TKY7DqY6kKq/kiKxEqArkdriUpriHeauOjw9zKc7DGP2DSR2TGIzVCm5XCr2JatvyiW5T6p90im5kqItHCjyKDG4SWc5S6i61SVwFiWvCKR0ief5iWKwh5wnjCq8jyg2nzO+73X5nXH8oK10H6ux7bY6TK08ErB+W3E65jC1TKp3Tq57z667mzB5jzL/svq9pTp/Grz/////+fn593d3cfHx7GxsYaGhv///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAIIALAAAAAAQABAAAAjnAAUJJEGw4IgPDf4IXCiIxA4+ECM28AKIYUOIUta0afMGwoMfgPwsJDGmZEk+dhgUKKAgkMA5Y/TswVNHDJ87R3Q8WOASZh46ZsyUCeOEDxIWDhK4HNPHzRkZfHowqRKjiJEICAIxdQOHDJcrVJQwAbIiR4UDgZrGAcOjrdsXK3BoMBAoCxs0WnjIsMGX7xAbHQgE6pLGxZQkPmRYWfykBhEQAQbfONFiiZItcuQEETKDRgkAgdRE6dMERQoVIqCEsDBBggnQgr5ggUGBg4cNGDJckOBagEuBA4ILHx78t8BAyJMrRx4QADs=";
$img['zip'] = "R0lGODlhEAAQAOYAAMjY9gNKsCBarSZox7TP9iJesCdktitpuzp5xEiH0XCc05jC9ZCz3jl/0JC235S335a535i531qZ12+v7na09IKx3zeZ81Wm9Fur9mCz/1yl62e3/2Co62Ws7XG7/22x7ne+/3S38HW38HGx5nq88XSx5IjD84DA8oTD84vK+ZvP9YnJ963b+bzl+8fs/fT///79mf//r///uf//xPr2k//9pP/4hv/6kPr1kPr1kf/7mvfvgvPkbNm/Kdm/K/n25dm8Lvvwvfvzzt61APbNK9m3KPzUMP3VONm3MNu5Mtq6NN6+Ov3ZRv3aUPvdY/zkhfvnl/roodq0Kf7TN/zZV/zebPvec/zifPrjj/rprfrrs/juytKgBtSjB9WlCs2fC8+hDc6fDdWmD9KlEtWmFdSnGtKnHNGnHNKnHtKoHtiuJ9rDebN7DbJ8DbWBJKlrCqhrCrB5IKpxG/EYAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAHQALAAAAAAQABAAAAe7gHSCg3QoJyQhHx0cg2tgj2scLy4tLComIgmCX3OdYAOgoQ0YEgF0YVJFPT5ASElKS2x0FSWmaTAzMjE1Ojc2PG10DiimZjQ/W1lYVlRTQ8EQKaZnOUJaUFdOTEbPdNHT1dfZ290P0nRoOEFRT1VNR0TdESumYztqZWRiXl1c3QwjTLmJ8waOnFChFEzQYIoQHUkbMngAAUIDAoeDOBwwUKCAgIYYHXJgFDIjxZEjQToEAYDAAgoXLAQIBAA7";
$img['dir'] = "R0lGODlhEAAOANUAAP//mf/3kf/0jv/rhf/mgP/gev/UbplmAJpnAZxpA55rBaBtB6NwCqVyDKh1D6t4Eq57FbB9F7OAGrSBG7WCHLeEHriFH7qHIbyJI72KJL+MJsCNJ8KPKcWSLMeULsmWMMuYMsyZM9OgOtypQ+azTe+8VvjFX//MZv///8nJycDAwLS0tH5+fnZ2dmJiYmFhYURERP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAADEALAAAAAAQAA4AAAaSwFgsBPp4hMikMIRqojjKJBNABaAylwpFEkGCAoJw2NmEsISfAaHDbm8wlolEEvMUOuQ8AcVgdQwhVYJUJgALLhwnIAABjY6NJQAKLxsnHQADmZqZJAAJLxknGgAFpaalIwAILxcnFgAGsbKxIgAHLilbERAPDg0MCwoJCAcwLTErLS/LzM0vLStCKSrU1dYqQkEAOw==";
$img['<x>'] = "R0lGODlhDQAQANUAAL60urm203d3wXd3wMHB2sTG4ra5xL/K2MHO2b/N1bzM1MHP1r/O1b7N1LbKzrvN0L7Q0ZacnHh8fLq+vp6hoYqMjLu9vX1+fmRlZfz9/ez19MHIx/H49+n08uz29Ov18/f7+tS/SqGBObmXSZBqMIZoQZ2CXKmQbryqkZJ7YY14boRtbP///8fHx5eXl5OTk4mJiYODg3Z2dnBwcGlpaWBgYP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAADYALAAAAAANABAAAAZyQJtwSCyOQiRRKBVamVpCgkBAQqkCJ4DJJRwUSp2SpwQqsWbdR2ft4YAy5+5i3Wm/47YBo3PpW+5oeQl0dnCBAxB8fRcWLHgDDYRuhl0Hin6OhwiSgF0KfBaFjw5rHxobExQVMEMGERIYNTQyMS9Ft0RBADs=";
$img['rar'] = &$img['zip'];
$img['tar'] = &$img['zip'];
$img['html'] = &$img['htm'];
$img['php'] = &$img['htm'];
$img['asp'] = &$img['htm'];
$img['jpg'] = &$img['img'];
$img['gif'] = &$img['img'];
$img['png'] = &$img['img'];
$img['bmp'] = &$img['img'];
if(IsSet($img[$i]))
{
$d = &$img[$i];
}
else
{
$d = &$img['<x>'];
}
header('Content-type: image/gif');
header('Content-Disposition: attachment; filename="' . $i . '"');
echo base64_decode($d);
exit;
}
function getExt($filename)
{
$atemp = explode('.', $filename);
return strtolower($atemp[sizeof($atemp) - 1]);
}
function size($size)
{
$mult = 'kB';
$prec = 0;
if(round($size / 1024, 0))
{
$size /= 1024;
$mult = 'kB';
$prec = 3;
}
if(round($size / 1024, 0))
{
$size /= 1024;
$mult = 'mB';
$prec = 3;
}
return (round($size, $prec) . ' ' . $mult);
}
function fsize($sfile)
{
return filesize($sfile);
}
function dsize($sdir)
{
$size = 0;
$handle = opendir($sdir);
while(false !== ($read = readdir($handle)))
{
if($read <> '.' && $read <> '..')
{
if(is_file($sdir . $read))
{
$size += fsize($sdir . $read);
}
elseif(is_dir($sdir . $read))
{
$size += dsize($sdir . $read . '/');
}
}
}
return $size;
}
if(IsSet($_GET['dir']) && $_GET['dir'] <> '' && is_dir($_GET['dir']))
{
if($_GET['dir'] == './')
{
$dir = $_GET['dir'];
}
elseif(eregi('\.\./', $_GET['dir']))
{
$dir = './';
}
else
{
if(substr($_GET['dir'], -1) == '/')
{
$dir = $_GET['dir'];
}
else
{
$dir = $_GET['dir'] . '/';
}
}
} else {
$dir = './';
}
if($dir == './')
{
$cur_dir = 'Root';
}
else
{
$ex = explode('/', $dir);
array_pop($ex);
$cur_dir = ucwords(array_pop($ex));
}
$handle = opendir($dir);
while(false !== ($read = readdir($handle)))
{
if($read <> '.' && $read <> '..')
{
$show[] = $read;
}
}
?>
<html>
<head>
<title>Directory Indexer</title>
<style>
body { margin: 0px; }
body, td, th { font-family: Arial; font-size: 12px; }
a { color: #000000; text-decoration: underline; }
a:hover { color: #666666; text-decoration: none; }
.dir_container { border-left: 1px solid #000000; border-right: 1px solid #000000; width: 760px; }
.dir_container h1 { margin: 10px; }
.dir_container th { background-color: #000000; color: #FFFFFF; text-align: left; }
.row1 { background-color: #FFFFFF; }
.row2 { background-color: #DDDDDD; }
.error { background-color: #F2DDDD; border: 1px solid #992A2A; border-top: 0px; font-family: Verdana; margin: 5px; padding: 0px; }
.error h4 { background-color: #E3C0C0; border: 1px solid #992A2A; border-left: 0px; border-right: 0px; font-family: Verdana; color: #992A2A; font-size: 12px; font-weight: bold; margin: 0px; padding: 5px; }
.error p { background-color: transparent; border: 0px; font-family: Verdana; color: #992A2A; font-size: 12px; margin: 0px; padding: 8px; }
</style>
</head>
<body>
<div align="center">
<table border="0" cellpadding="5" cellspacing="0" class="dir_container">
<tr>
<td colspan="5">
<h1><?php echo $cur_dir; ?></h1>
<?php
if($dir <> './')
{
$ex = substr($dir, 2, -1);
$ex = explode('/', $ex);
array_pop($ex);
$dirs = '<a href="index.php?dir=./">Root</a> / ';
foreach($ex as $nr => $tdir)
{
$link = './';
for($i = 0; $i < $nr; $i++)
{
$link .= $ex[$i] . '/';
}
$dirs .= '<a href="index.php?dir=' . $link . $tdir . '">' . $tdir . '</a> / ';
}
echo $dirs;
}
?>
</td>
</tr>
<tr>
<th width="1%"></th>
<th>Naam:</th>
<th width="15%">Grootte:</th>
<th width="20%">Type:</th>
<th width="30%">Gewijzigd op:</th>
</tr>
<?php
if(IsSet($show))
{
$i = 0;
foreach($show as $row)
{
$tr_class = ($i % 2 ? 'row1' : 'row2');
if($dir != './dir' && $row != 'index.php') {
?>
<tr class="<?php echo $tr_class; ?>">
<td><img src="index.php?i=<?php echo (is_dir($dir . $row) ? 'dir' : getExt($row)); ?>" alt="<?php echo $row; ?>"></td>
<td><a href="<?php echo (is_dir($dir . $row) ? 'index.php?dir=' . $dir . $row : $dir . $row); ?>"><?php echo $row; ?></a></td>
<td align="right"><?php echo size(is_dir($dir . $row) ? dsize($dir . $row . '/') : fsize($dir . $row)); ?></td>
<td><?php echo (is_dir($dir . $row) ? 'Bestandsmap' : getExt($row) . ' bestand'); ?></td>
<td><?php echo date('F d Y H:i:s', filectime($dir . $row)); ?></td>
</tr>
<?php
$i++;
}
}
}
else
{
?>
<tr>
<td colspan="5"><div class="error"><h4>Directory is leeg</h4> <p>Er staan (nog) geen mappen en/of bestanden in deze directory.</p></div></td>
</tr>
<?php
}
?>
</table>
</div>
</body>
</html>
<?php { $img['img'] = "R0lGODlhEAAQAPcAAP//////AP8A//8AAAD//wD/AAAA/wAAAPuBhP0RI7Crrr24vL25vn+CmJ6syZ6rxbfF4cbO3srO1oOk4WF4oo6fvpyuzqCvyqKxzKGwy6i30qa10KKxy6Oxy6Kwyb3M57G/2JyovqCswsTR6dDd9crW7NPe8tXg89Hb7uLs/uLr/Njh8eHp9wBe9YaZuYiauYeYtZWmw5mqxqCvyKi30KSyysXW8p+rvqu3ysPQ5tvo/eDr/dzm9uLs/OTt/Njg7eDn8+vy/gxn7Ku92LvO68TQ4uPu/t7p+c/Y5tXe7Nfg7cvb8ejw++vw9+fs87LD2OHu/lem/vH3/lSp/uTx/vP5/snj9+33/qGoqPz+/v3+/lXSYAC1AH3GdS6qHnDIW1OmL+Hp173JqoGaKby9srurRv3slf7dbf7cc/7Xb/7QZ/3SdP7FVd6wUP7LaP6/SP68SeS7cv6vMP62QNycN+CoTN2nTfvt1fueGf6qL/6vN/6xOf65V+C/jP2XEv6eGvmeH/6gI/6iJOCSKM+WR9OZSvjEff6ZG8mCKrB/RNifWv2EAPeAAf6IAuR5BP6JCP6QEMuMSNKTTeC7kbBhEKxdEL9rFqlfFa5iGMR0I45aJsuQVNikcNuugNG8pvLk1v17AO1zAKlUBq5XCL5kE7NiFqBdHplZHrVuLr97PcB/Q690PbF9T9CYY9KujN25l6NJAJtKA5JFBIZKF5NnQcqcdKaGbLVQAKpKAJA/ALGReKuQe+dXBa+ZjKuSh/BvO/55QcY0AN4dA+kwFdsTBv7+/v///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAMYALAAAAAAQABAAAAj3AI0JFJjkh0ElKHI8GMiQiJZiEItJMVGiBsOBWSIWq3ICCBOLDFFN4tTp1acsO4ogAfFiIKlNu3y5aqWqlpMlGiy4MHZL0h0rUaZMCCMmEasVHyBUMJYpkiIyQlpQ+LKlSypbNkbEsFRIYBwsDfp44QLG0KkIJGQgMmOnzpo0atyUGUOIzyUGOhyMaoPmDBs4c/TkAYbgl6gFUC4IrETnzZ48gvAMS0BMlgQjGQbmGiQn0CE/vIQF08QjBQeGsQD9gfSo0SJYvaj0wMBwFiVHjECFwkWLxREVtAcq8LQKUylTuppc8RFkw8UnOG6EEDGEhocZHWAEBAA7"; $img['htm'] = "R0lGODlhEAAQAPcAAFFRg1VVh1RVhldYiVpbi2lqm2BikGdpl25xnnN3o3yBq3l9p2JsnHN/sr3K/77K/3CAsrrK/8rY/8nX/sjW/bfM/8HQ9snY/8bV/MbV+7TM/7PF7KW54bDN/6K33oSj1q3N/5+02Cc8Woir3oep3KvN/6nO/5ulsjFcjyFDaSVDZbvO4+z1/ylrrD53sT9jiXSo3nOUtKHE5rrb+7/f/7TS8Mzl/4+gstPp/9vt//P5//3+/x1fmil6xC9yskGV5EZ3pShEXpS31qjG48Ti/9vq+OTy/+Hs9uz2/zCV7TKY7DqY6kKq/kiKxEqArkdriUpriHeauOjw9zKc7DGP2DSR2TGIzVCm5XCr2JatvyiW5T6p90im5kqItHCjyKDG4SWc5S6i61SVwFiWvCKR0ief5iWKwh5wnjCq8jyg2nzO+73X5nXH8oK10H6ux7bY6TK08ErB+W3E65jC1TKp3Tq57z667mzB5jzL/svq9pTp/Grz/////+fn593d3cfHx7GxsYaGhv///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAIIALAAAAAAQABAAAAjnAAUJJEGw4IgPDf4IXCiIxA4+ECM28AKIYUOIUta0afMGwoMfgPwsJDGmZEk+dhgUKKAgkMA5Y/TswVNHDJ87R3Q8WOASZh46ZsyUCeOEDxIWDhK4HNPHzRkZfHowqRKjiJEICAIxdQOHDJcrVJQwAbIiR4UDgZrGAcOjrdsXK3BoMBAoCxs0WnjIsMGX7xAbHQgE6pLGxZQkPmRYWfykBhEQAQbfONFiiZItcuQEETKDRgkAgdRE6dMERQoVIqCEsDBBggnQgr5ggUGBg4cNGDJckOBagEuBA4ILHx78t8BAyJMrRx4QADs="; $img['zip'] = "R0lGODlhEAAQAOYAAMjY9gNKsCBarSZox7TP9iJesCdktitpuzp5xEiH0XCc05jC9ZCz3jl/0JC235S335a535i531qZ12+v7na09IKx3zeZ81Wm9Fur9mCz/1yl62e3/2Co62Ws7XG7/22x7ne+/3S38HW38HGx5nq88XSx5IjD84DA8oTD84vK+ZvP9YnJ963b+bzl+8fs/fT///79mf//r///uf//xPr2k//9pP/4hv/6kPr1kPr1kf/7mvfvgvPkbNm/Kdm/K/n25dm8Lvvwvfvzzt61APbNK9m3KPzUMP3VONm3MNu5Mtq6NN6+Ov3ZRv3aUPvdY/zkhfvnl/roodq0Kf7TN/zZV/zebPvec/zifPrjj/rprfrrs/juytKgBtSjB9WlCs2fC8+hDc6fDdWmD9KlEtWmFdSnGtKnHNGnHNKnHtKoHtiuJ9rDebN7DbJ8DbWBJKlrCqhrCrB5IKpxG/EYAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAHQALAAAAAAQABAAAAe7gHSCg3QoJyQhHx0cg2tgj2scLy4tLComIgmCX3OdYAOgoQ0YEgF0YVJFPT5ASElKS2x0FSWmaTAzMjE1Ojc2PG10DiimZjQ/W1lYVlRTQ8EQKaZnOUJaUFdOTEbPdNHT1dfZ290P0nRoOEFRT1VNR0TdESumYztqZWRiXl1c3QwjTLmJ8waOnFChFEzQYIoQHUkbMngAAUIDAoeDOBwwUKCAgIYYHXJgFDIjxZEjQToEAYDAAgoXLAQIBAA7"; $img['dir'] = "R0lGODlhEAAOANUAAP//mf/3kf/0jv/rhf/mgP/gev/UbplmAJpnAZxpA55rBaBtB6NwCqVyDKh1D6t4Eq57FbB9F7OAGrSBG7WCHLeEHriFH7qHIbyJI72KJL+MJsCNJ8KPKcWSLMeULsmWMMuYMsyZM9OgOtypQ+azTe+8VvjFX//MZv///8nJycDAwLS0tH5+fnZ2dmJiYmFhYURERP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAADEALAAAAAAQAA4AAAaSwFgsBPp4hMikMIRqojjKJBNABaAylwpFEkGCAoJw2NmEsISfAaHDbm8wlolEEvMUOuQ8AcVgdQwhVYJUJgALLhwnIAABjY6NJQAKLxsnHQADmZqZJAAJLxknGgAFpaalIwAILxcnFgAGsbKxIgAHLilbERAPDg0MCwoJCAcwLTErLS/LzM0vLStCKSrU1dYqQkEAOw=="; $img['<x>'] = "R0lGODlhDQAQANUAAL60urm203d3wXd3wMHB2sTG4ra5xL/K2MHO2b/N1bzM1MHP1r/O1b7N1LbKzrvN0L7Q0ZacnHh8fLq+vp6hoYqMjLu9vX1+fmRlZfz9/ez19MHIx/H49+n08uz29Ov18/f7+tS/SqGBObmXSZBqMIZoQZ2CXKmQbryqkZJ7YY14boRtbP///8fHx5eXl5OTk4mJiYODg3Z2dnBwcGlpaWBgYP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAADYALAAAAAANABAAAAZyQJtwSCyOQiRRKBVamVpCgkBAQqkCJ4DJJRwUSp2SpwQqsWbdR2ft4YAy5+5i3Wm/47YBo3PpW+5oeQl0dnCBAxB8fRcWLHgDDYRuhl0Hin6OhwiSgF0KfBaFjw5rHxobExQVMEMGERIYNTQyMS9Ft0RBADs="; $img['rar'] = &$img['zip']; $img['tar'] = &$img['zip']; $img['html'] = &$img['htm']; $img['php'] = &$img['htm']; $img['asp'] = &$img['htm']; $img['jpg'] = &$img['img']; $img['gif'] = &$img['img']; $img['png'] = &$img['img']; $img['bmp'] = &$img['img']; { $d = &$img[$i]; } else { $d = &$img['<x>']; } header('Content-type: image/gif'); header('Content-Disposition: attachment; filename="' . $i . '"'); } function getExt($filename) { } function size($size) { $mult = 'kB'; $prec = 0; if(round($size / 1024, 0)) { $size /= 1024; $mult = 'kB'; $prec = 3; } if(round($size / 1024, 0)) { $size /= 1024; $mult = 'mB'; $prec = 3; } return (round($size, $prec) . ' ' . $mult); } function fsize($sfile) { } function dsize($sdir) { $size = 0; while(false !== ($read = readdir($handle))) { if($read <> '.' && $read <> '..') { { $size += fsize($sdir . $read); } { $size += dsize($sdir . $read . '/'); } } } return $size; } if(IsSet($_GET['dir']) && $_GET['dir'] <> '' && is_dir($_GET['dir'])) { if($_GET['dir'] == './') { $dir = $_GET['dir']; } elseif(eregi('\.\./', $_GET['dir'])) { $dir = './'; } else { if(substr($_GET['dir'], -1) == '/') { $dir = $_GET['dir']; } else { $dir = $_GET['dir'] . '/'; } } } else { $dir = './'; } if($dir == './') { $cur_dir = 'Root'; } else { } while(false !== ($read = readdir($handle))) { if($read <> '.' && $read <> '..') { $show[] = $read; } } ?> <html> <head> <title>Directory Indexer</title> <style> body { margin: 0px; } body, td, th { font-family: Arial; font-size: 12px; } a { color: #000000; text-decoration: underline; } a:hover { color: #666666; text-decoration: none; } .dir_container { border-left: 1px solid #000000; border-right: 1px solid #000000; width: 760px; } .dir_container h1 { margin: 10px; } .dir_container th { background-color: #000000; color: #FFFFFF; text-align: left; } .row1 { background-color: #FFFFFF; } .row2 { background-color: #DDDDDD; } .error { background-color: #F2DDDD; border: 1px solid #992A2A; border-top: 0px; font-family: Verdana; margin: 5px; padding: 0px; } .error h4 { background-color: #E3C0C0; border: 1px solid #992A2A; border-left: 0px; border-right: 0px; font-family: Verdana; color: #992A2A; font-size: 12px; font-weight: bold; margin: 0px; padding: 5px; } .error p { background-color: transparent; border: 0px; font-family: Verdana; color: #992A2A; font-size: 12px; margin: 0px; padding: 8px; } </style> </head> <body> <div align="center"> <table border="0" cellpadding="5" cellspacing="0" class="dir_container"> <tr> <td colspan="5"> <h1> <?php echo $cur_dir; ?></h1> <?php if($dir <> './') { $dirs = '<a href="index.php?dir=./">Root</a> / '; foreach($ex as $nr => $tdir) { $link = './'; for($i = 0; $i < $nr; $i++) { $link .= $ex[$i] . '/'; } $dirs .= '<a href="index.php?dir=' . $link . $tdir . '">' . $tdir . '</a> / '; } } ?> </td> </tr> <tr> <th width="1%"></th> <th>Naam:</th> <th width="15%">Grootte:</th> <th width="20%">Type:</th> <th width="30%">Gewijzigd op:</th> </tr> <?php { $i = 0; foreach($show as $row) { $tr_class = ($i % 2 ? 'row1' : 'row2'); if($dir != './dir' && $row != 'index.php') { ?> <tr class=" <?php echo $tr_class; ?>"> <td><img src="index.php?i= <?php echo (is_dir($dir . $row) ? 'dir' : getExt ($row)); ?>" alt=" <?php echo $row; ?>"></td> <td><a href=" <?php echo (is_dir($dir . $row) ? 'index.php?dir=' . $dir . $row : $dir . $row); ?>"> <?php echo $row; ?></a></td> <td align="right"> <?php echo size (is_dir($dir . $row) ? dsize ($dir . $row . '/') : fsize ($dir . $row)); ?></td> <td> <?php echo (is_dir($dir . $row) ? 'Bestandsmap' : getExt ($row) . ' bestand'); ?></td> </tr> <?php $i++; } } } else { ?> <tr> <td colspan="5"><div class="error"><h4>Directory is leeg</h4> <p>Er staan (nog) geen mappen en/of bestanden in deze directory.</p></div></td> </tr> <?php } ?> </table> </div> </body> </html>
|
|
|
|
Gepost op: 26 november 2005 - 12:10 |
|
|
|
SEO guru
|
Alvast bedankt Murfy, ffe testen... |
|
|
|
Gepost op: 01 februari 2006 - 17:53 |
|
|
|
Nieuw lid
|
Is het misschien mogelijk om de index te sorteren zodat het nieuwste bestand boven aan komt te staan? |
|
|
|
Gepost op: 20 februari 2006 - 22:07 |
|
|
|
Nieuw lid
|
kan je die gif-codes? veranderen dat eigen icoontjes gebruik? |
|
|
|
Gepost op: 29 augustus 2008 - 12:51 |
|
|
|
PHP expert
|
zo 'new' is het ondertussen toch al niet meer eh |
|
|
Enkel aanvullende informatie, vragen en antwoorden op vragen zijn welkom. |
|
|
|