Du må selv putte checkbox og deleteknap på !
<?php
// CONFIG START _____________________________________________________
// array med dir og filer som evt. ikke skal vises
// "dir" er dir
// "file" er filer
$dont_show = array(
"dir" => array("phpmyadmin", "hemmeligt_dir"),
"file" => array(".htaccess", ".ht_pass")
);
// Harddisk-sti til roden af domain. IKKE en url og IKKE til dir som skal læses igennem
// Ved at bruge FULD HARDDISK-STI kan scriptet ligge i hvilket som helst underdir til domain
DEFINE("START_PATH", $_SERVER["DOCUMENT_ROOT"]);
// dir som skal læses igennem.
// Eksempler:
// "/" Læser fra rod af domain
// "/fildir", læser "fildir" igennem;
// "/fildir/subdir", læser "subdir" igennem;
DEFINE("START_DIR", "/faktura/");
// htmlkoden til billede af en mappe.
// Bruges ved hvert dir.
DEFINE("DIR_IMAGE", "<img src=\"/images/mappe.gif\" align=\"top\" border=\"0\">");
// Hvor meget indrykning pr. subdir der skal være?
DEFINE("INDRYKNING", 24);
// Target på link til filer
// _BLANK åbner et nyt vindue.
// Kan jo også være navnet på en frame/iframe
// Er den tom, bruges der ingen target i link
DEFINE("LINKTARGET", "_BLANK");
// Evt. class i link
// Bruges hvis den ikke er tom
DEFINE("LINKCLASS", "");
// De første tegn brugt til navn på div
// Ved load af siden, løbes doc igennem for div attributer ved hjælp af javascript
// Og starter et divnavn med DIR_NAME_START tjekkes om style skal være hidden eller visible
// Første tegn må IKKE være et tal !!!!!
DEFINE("DIR_NAME_START", "dir_");
// CONFIG END _______________________________________________________
//Tak til detox,
www.eksperten.dk/spm/599757, for hjælp med lidt opendir()
function visFiler($dir) {
global $dont_show;
$out = array();
$d = dir($dir);
while (false !== ($file = $d->read())) {
if (is_file($dir."/".$file) && !in_array($file, $dont_show["file"])) {
$out[] = $file;
}
}
$d->close();
return $out;
}
function visMapper($dir, &$out) {
global $dont_show, $basepath;
$d = dir($dir);
$i = 0;
while (false !== ($file = $d->read())) {
if ($file != '.' && $file != '..' && !in_array($file, $dont_show["dir"])) {
if (is_dir($dir."/".$file)) {
$out[] = $dir."/".$file;
visMapper($dir."/".$file, $out);
$i++;
}
}
}
$d->close();
}
function vis_link($link,$text) {
$url = "\t\t<a href=\"".$link."\"";
$url .= (LINKTARGET != "" ? " target=\"".LINKTARGET."\"" : "");
$url .= (LINKCLASS != "" ? " class=\"".LINKCLASS."\"" : "");
$url .= ">".$text."</a><br />\r\n";
return $url;
}
$basepath = preg_replace("/\/+/", "/", START_PATH);
$basepath = (substr($basepath, -1) == "/" ? substr($basepath, 0, -1) : $basepath);
$basedir = preg_replace("/\/+/", "/", START_DIR);
$basedir = (substr($basedir, -1) == "/" ? substr($basedir, 0, -1) : $basedir);
$basedir = (substr($basedir, 0, 1) != "/" ? "/".$basedir : $basedir);
$mappe = $basepath.$basedir;
// Tjekker om dir findes
if(!is_dir($mappe)) {
echo"Dir som skal læses igennem findes IKKE !!!!! ".$mappe;
exit;
}
// Tjekker om dir kan læses
if(!is_readable($mappe)) {
echo"Der er ikke læse rettigheder til \$mappe !!!!! ".$mappe;
exit;
}
// Tjekker DIR_NAME_START er udfyldt
if(trim(DIR_NAME_START) == "") {
echo"DIR_NAME_START kan IKKE være tom!";
exit;
}
// Tjekker første tegn i DIR_NAME_START ikke er et tal ( javascript vil i givet fald fejle )
if(is_numeric(substr(trim(DIR_NAME_START), 0, 1))) {
echo"Første tegn i DIR_NAME_START må ikke være et tal!";
exit;
}
?><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><title>Faktura</title>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<script type="text/javascript">
<!-- get_id(), box_click() found at exp.dk -->
function get_id ($id) {
if (document.all && document.getElementById) {
return document.all($id);
} else if (!document.all && document.getElementById) {
return document.getElementById($id);
} else {
return false;
}
}
function box_click ($id) {
if (($bcontent = get_id($id))) {
$bcontent = $bcontent.style;
} else {
return false;
}
if ($bcontent.visibility == 'hidden') {
$bcontent.display = 'block';
$bcontent.visibility = 'visible';
createCookie($id,$id,5);
} else {
$bcontent.display = 'none';
$bcontent.visibility = 'hidden';
eraseCookie($id);
}
}
<!--
http://www.eksperten.dk/spm/743420 -->
function eraseCookie(name) {
createCookie(name,"",-1);
}
function createCookie(name,value,days) {
if (days) {
var date = new Date();
date.setTime(date.getTime()+(days*24*60*60*1000));
var expires = "; expires="+date.toGMTString();
}else{
var expires = "";
}
document.cookie = name+"="+value+expires+"; path=/";
}
function readCookie(cookname) {
var nameEQ = cookname+ "=";
var ca = document.cookie.split(';');
for(var i=0;i < ca.length;i++) {
var c = ca[i];
while (c.charAt(0)==' ') c = c.substring(1,c.length);
if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
}
return null;
}
window.onload = function() {
<!--
http://www.eksperten.dk/spm/769446 -->
var elms = document.getElementsByTagName("div");
var namestart = '<?php echo trim(DIR_NAME_START); ?>';
var nameantal = namestart.length;
for(i=0,im=elms.length;im>i;i++){
if(elms[i].id.substr(0,nameantal) == namestart) {
if(divid = readCookie(elms[i].id)) {
if (divref = get_id(divid)) {
divref.style.visibility = 'visible';
divref.style.display = 'block';
}
}
}
}
}
</script>
<style type="text/css">
body {
margin: 0px;
padding: 48px;
font-family: verdana;
font-size: 0.8em;
color: #000000;
background-color: #FFFFFF;
}
a:link {
color:#002424;
}
a:visited {
color:#002424;
}
a:hover {
text-decoration:none;
}
</style>
</head>
<body>
<noscript><div>Aktiver Javascript i din browser!</div></noscript>
<?php
$liste = array($mappe);
visMapper($mappe, $liste);
for ($d = 0; $d < count($liste); $d++) {
$visdir = str_replace($basepath."/", "", $liste[$d]);
$visdir = (substr($visdir, 0, 1) != "/" ? "/".$visdir : $visdir);
$dirlink = (strlen($visdir) > 1 ? $visdir."/" : $visdir);
$dirantal = explode("/", $visdir);
$t = (count($dirantal)*INDRYKNING);
$filer = visFiler($basepath.$visdir);
$antal = count($filer);
$filestyle = "margin-left: ".INDRYKNING."px; visibility: hidden; display: none;";
$click = " onclick=\"box_click('".DIR_NAME_START.$d."');\" onmouseover=\"this.style.cursor='pointer';\"";
echo "\r\n\t<div style=\"margin-left: ".$t."px; padding: 4px;\">\r\n";
echo "\t<span".$click.">".DIR_IMAGE." <span style=\"font-weight: bold;\">".$visdir."</span> <span style=\"font-size: 0.8em;\">( ".$antal." )</span></span>\r\n";
echo "\t\t<div id=\"".DIR_NAME_START.$d."\" style=\"".$filestyle."\">\r\n";
if ($antal > 0) {
sort($filer);
for ($i = 0; $i < $antal; $i++) {
echo vis_link($dirlink.$filer[$i], $filer[$i]);
}
}else{
echo"\t\tIngen filer\r\n";
}
echo"\t\t</div>\r\n";
echo"\t</div>\r\n";
}
clearstatcache();
?>
</body></html>