Avatar billede rmk24 Nybegynder
01. oktober 2009 - 12:05 Der er 8 kommentarer og
1 løsning

udskrive mappernavne

jeg er et problem.  skal bruge en liste over mine mapper på serveren da jeg skal bruge dem som link. problemet er at jeg ved ikke hvordan den finder mappernes navne. jeg skal også have mulighed for at tilføje nogen som ikke skal tælles med i listen.

feks
mapper
test1
test2
test3
test4

test1.php
test2.php
test3.php

vil gerne have at jeg kan udskrive feks alle mapper bortset fra test1 som en liste (while løkke feks).

håber nogen har ideer eller en løsning.
Avatar billede majbom Novice
01. oktober 2009 - 12:12 #1
prøv at tage et kig på opendir:

http://dk2.php.net/function.opendir
Avatar billede rmk24 Nybegynder
01. oktober 2009 - 12:16 #2
har kigget lidt. men problemet er at det ligger i roden af serveren og ikke inde i en mappe. og synes den ser lidt forvirende ud. tænkte om der ikke er et simpelt script der gør det eller som næsten gør det som man kan rette lidt i
Avatar billede majbom Novice
01. oktober 2009 - 12:28 #3
det 1. eksempel lader da til at være rimelig brugbart:

<?php
$dir = "/etc/php5/";

// Open a known directory, and proceed to read its contents
if (is_dir($dir)) {
    if ($dh = opendir($dir)) {
        while (($file = readdir($dh)) !== false) {
            echo "filename: $file : filetype: " . filetype($dir . $file) . "\n";
        }
        closedir($dh);
    }
}
?>

så retter du bare $dir til stien til den mappe du skal have lavet listen over...
Avatar billede rmk24 Nybegynder
01. oktober 2009 - 12:32 #4
har selv fundet ud af det.. har ændret en gammel kode så det er noget rod men ligger den herind så det kan hjælpe andre hvis det er.

<!DOCTYPE html PUBLIC
"-//W3C//DTD XHTML 1.0 Transitional//DK" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<meta http-equiv="Content-Language" content="da" />
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<body>
<?
if ($_GET['mappe'] != '') {
    $mappe = $_GET['mappe'];
} else {
    $mappe = ".";
}
$handle = opendir($mappe);

while (false !== ($file = readdir($handle))) {
    if ($file != "." && $file != ".." && $file != "zipfiler") {
        if(is_dir($mappe."/".$file) == true)
            $sub = 1;
        $fileArray[] = array('navn' => $file,'subdir' => $sub);
        $sub = 0;
    }
}
?>
<table border="1">

<?
foreach ($fileArray as $k => $v){
    if($v[subdir] == 1){
            echo "<tr><td>";
            echo "<a class='folder_type' href='?mappe=".$mappe."/".$v['navn']."'>";
            echo $v['navn'] . "</a>";
            echo "</td></tr>";
    }
}   
?>
</table>
</body>
</html>
Avatar billede rmk24 Nybegynder
01. oktober 2009 - 12:33 #5
problemet var jo at det ikke var i en mappe. men du må gerne få pointene alligevel for din tid hvis du vil. så smid svar. ellers tar jeg dem abre selv..
Avatar billede j4k0b Nybegynder
01. oktober 2009 - 12:34 #6
Roden er også en mappe. Du skriver bare "/" i stedet for "/etc/php5/"
Avatar billede rmk24 Nybegynder
01. oktober 2009 - 12:45 #7
okay takker. men skriv svar hvis du vil have point :)
Avatar billede majbom Novice
01. oktober 2009 - 13:07 #8
ellers tak :)
Avatar billede rmk24 Nybegynder
01. oktober 2009 - 15:29 #9
tar dem selv så :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester