while ($filnavn = readdir($mappe)) {
if ($filnavn != "." && $filnavn != ".." && $filnavn != "Thumbs.db") {
echo <a href=\\"".$mappenavn.$filnavn."\\" target=\\"_blank\\">".$filnavn."</a>
}
}
Her er noget kode der viser hvad der ligger i et bibliotek.
Men jeg har et problem. For hvis jeg skal vise indholdet af biblioteket viser den både mapper og filer.
Kan man ikke filtrere det så man kun ser mapper, eller kun ser filer?
Jeg fandt den her is_dir(), men hvis det er den der skal bruges så ved jeg ikke hvordan i ovenstående. Håber du kan hjælpe.
-----------
mvh
Kim
SOm lovet vil jeg lige dumpe mine funktioner. Lig mærke til at den ikke kan dybere end en dir fra din start dir
Det er noget jeg ikke lige har haft tid eller overskud til at ordne, men heller ikke noget jeg endnu har haft brug for.
funktioner.php
<?php
//En funktion som tjekker om det er en fil eller en mappe
function tjek($path,$string)
{
switch($string)
{
case "dir":
if(is_dir($path))
{
if((basename($path) !== ".") and (basename($path) !== ".."))
{
return "<a href=\\"index.php?type=" .basename($path) . "&read=dir\\">" . basename($path) ."</a> - " .$path."<br>";
} else
{
return "";
}
} else
{
return "";
}
break;
case "fil":
if(is_file($path))
{
return "<a href=\\"index.php?type=" . basename($path) . "&read=fil\\">" . basename($path) ."</a>" . "<br>";
}
break;
}
}
//Funktion der læser alle filer i en given $path
function readMyDir($path)
{
//Jeg tjekker om det er et dir
if(is_dir($path))
{
//Jeg tjekker om jeg kan åbne stien
if($aabn = opendir($path))
{
while(($MyDir = readdir($aabn)) !== false)
{
print tjek($path.$MyDir,"dir");
}
}
} else {
print("Dette er ikke en dir\\n");
}
}
//En funktion der læser alle filer i en given $path
function readMyFiles($path)
{
//Jeg tjekker om det er et dir
if(is_dir($path))
{
//Jeg tjekker om jeg kan åbne stien
if($aabn = opendir($path))
{
while(($MyDir = readdir($aabn)) !== false)
{
print tjek($path.$MyDir,"fil");
}
}
}
}
?>
Jeg har så inkluderet den på en side og bruger så funktionerne til at navigere rundt med. Funktionerne kunne så bruges på følgende måde.
index.php
<?php
//Jeg inkluder de funktioner som jeg vil bruge
include("funktioner.php");
//Jeg sætter mit start dir
$MyStartDir = "C:/Programmer/Apache Group/Apache2/htdocs/test/";
//Jeg henter type og read ned fra url
$type = $_GET['type'];
$read = $_GET['read'];
//Nu kan jeg tjekke efter om det er en nye dir jeg skal læse igennem eller om det er et billede der skal læses
switch($read)
{
case "dir":
//Jeg læser alle mapperne i diret
readMyDir($MyStartDir."/".$type."/");
//Jeg læser alle filer i diret
readMyFiles($MyStartDir."/".$type."/");
break;
case "fil":
print("Her er billedet, $type");
break;
default:
readMyDir($MyStartDir);
readMyFiles($MyStartDir);
break;
}
?>
Bruger du /her/er/min/start/dir som din start dir og går et level ned fx. /her/er/min/start/dir/lvl_1 så kan den godt finde ud af det, men går du så et level mere ned fx. /her/er/min/start/dir/lvl_1/lvl_2 så vil du få en fejlmeldning af typen "Dette er ikke en dir" da den vil tage /her/er/min/start/dir og lvl_2 uden at tage lvl_1. Det skal nok rettes. Du kan jo prøve
Ikke noget jeg har rodet særlig meget med.
Håber du kan bruge det til et eller andet.
Slot\\\\ - All your base are belong to us
http://www.sigsys.dk