Avatar billede KHHP Juniormester
22. januar 2012 - 17:43 Der er 6 kommentarer og
1 løsning

Vis indhold af mappe

Hej
Jeg vil gerne forsøge at lave noget php-kode hvor man kan se indholdet af en mappe på sin webserver. programmet WAMPserver har bl.a den funktionalitet jeg søger.
Jeg har her et screenshot af en mappe hvor indholdet vises fordi der mangler en index.php.
http://dl.dropbox.com/u/41698524/index_ahtml.png
Jeg har søgt lidt rundt omkring, og har også forsøgt at kigge i WAMPserver's index.php, men kan ikke rigtig få det til at virke.
Grunden til at jeg gerne vil lave det i PHP, er at man kan tilføje styling via CSS(Det er der gjort på WAMPserver's index.php)
Er der nogen der ved hvordan jeg får det til at virke.
Jeg skal bruge det på min lokale Linux-webserver.
Avatar billede moddi100 Seniormester
22. januar 2012 - 19:28 #1
Tag et kig på:
http://dk2.php.net/manual/en/function.readdir.php

<?php
$path = '.';
if ($handle = opendir($path)) {
    while (false !== ($entry = readdir($handle))) {
        if ($entry != "." && $entry != "..") {
            echo "$entry\n";
        }
    }
    closedir($handle);
}
?>
Avatar billede showsource Seniormester
22. januar 2012 - 21:01 #2
Du kan også lave dine egen "header" og "footer" fil til apache, samt definere div. ikoner alt efter filtype, og derefter blot lade apache vise indholdet af et givent dir.
Avatar billede KHHP Juniormester
23. januar 2012 - 10:05 #3
Det virker nu, men jeg vil gerne have den til at stå på lodret linje, samt at de skal fungere som links.
Avatar billede moddi100 Seniormester
23. januar 2012 - 21:50 #4
Ønsker du blot navigation i de forskellige mapper igennem din browser? I så fald er det simpleste at anvende apaches indbyggede funktioner såsom showsource også nævner - du behøver dog ikke justere udseendet, det er blot en mulighed.

Opret en fil kaldet ".htaccess" med følgende indhold:
Options +Indexes


Hvilket skulle vise indholdet i alle mapper i og under den mappe hvor filen er placeret.
Avatar billede KHHP Juniormester
24. januar 2012 - 19:00 #5
Ja, men kan jeg også lave styling, så som at ændre skrifttyper, ændre tekst og baggrundsfarve, indsætte logo osv.
Det var det jeg gerne ville lave i PHP, da jeg kan få den til at vise det inde i f.eks. en tabel eller en DIV.
Avatar billede KHHP Juniormester
13. februar 2012 - 14:16 #6
Jeg fik det til at virke.
Her er den endelige kode:
<?
    // Definér stien til apache-rodmappen, fra roden af serverens systemdrev
    $path = "/var/www/";

    // Her åbnes mappen
    $dir_handle = @opendir($path) or die("Unable to open $path");

    // Her findes der ud af hvor mange filer og mapper der og de listes indtil der ikke er flere at liste
    while ($file = readdir($dir_handle)) {

    if($file == "." || $file == ".." || $file == "index.php" )

        continue;
        echo "<a href=\"$file\">$file</a><br />";

    }

    // Her lukkes mappen igen, når scriptet har fundet og listet filer og mapper
    closedir($dir_handle);

?>


Jeg takker for forslagene.
moddi100 kom meget tæt på det endelige resultat i #1, og derfor må du gerne smide svar, hvis du vil have point
Avatar billede moddi100 Seniormester
13. februar 2012 - 14:42 #7
Svar!
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