Avatar billede mrbs Nybegynder
05. januar 2006 - 15:53 Der er 8 kommentarer og
1 løsning

Script som viser filer uden "efternavn"

Jeg har dette script som viser filerne som ligger i en mappe. Kan man få den til at vise filerne uden "efternavn"; .php .gif osv?

<?
function list_filer($bibliotek) {

    if ($bib = @opendir($bibliotek)) { // Fjern evt. $_SERVER["DOCUMENT_ROOT"] */
        while (false !== ($fil = readdir($bib))) {
            if ($fil != "." && $fil != ".." && !ereg("^\..+", $fil)) {
                $fil_liste[] = "<a href=\"$bibliotek/$fil\">$fil</a>";
            }
        } 
 
        closedir($bib);
     
        if (is_array($fil_liste)) {
            $liste = "" . join("", $fil_liste) . "";
        } else {
            $liste = "Ingen filer p&aring; lager";
        }
     
        $fil_lager = " " . $liste . " ";

        return $fil_lager;
       
    } else {
        die("Kunne ikke &aring;bne biblioteket: " . $bibliotek);
    }
}

$bibliotek = "posts";
echo list_filer($bibliotek);

?>
Avatar billede jaw Nybegynder
05. januar 2006 - 16:14 #1
Ja, du kan prøve:

$path_parts = pathinfo($bibliotek."/".$fil);
$filnavn = str_replace($path_parts['extension'], $fil);
$fil_liste[] = "<a href=\"$bibliotek/$fil\">$filnavn</a>";
Avatar billede den-evil Nybegynder
05. januar 2006 - 16:14 #2
brug substr, samt strlen: se nedenstående eksempel:

<select name="template" style="width:250px;">
                                <?
                                $dh = opendir("./artikel-templates");
                                    while (false !== ($file = readdir($dh))) {
                                        if (substr($file,strlen($file)-4) == "tmpl") {
                                ?>
                                <option value='<?=$file?>'>
                                <?=ucfirst(substr($file,0,strlen($file)-5))?>
                                </option>
                                <?       
                               
                                }
                                }
                   
                                ?>
                                    </select>
Avatar billede mrbs Nybegynder
05. januar 2006 - 16:40 #3
jaw >> hvordan vil det se ud i min kode?

Jeg er ikke vildt hård til php... :)

Mads
Avatar billede jaw Nybegynder
05. januar 2006 - 16:42 #4
Hej Mads.

Så får du det hele sat sammen:

<?
function list_filer($bibliotek) {

    if ($bib = @opendir($bibliotek)) { // Fjern evt. $_SERVER["DOCUMENT_ROOT"] */
        while (false !== ($fil = readdir($bib))) {
            if ($fil != "." && $fil != ".." && !ereg("^\..+", $fil)) {
              $path_parts = pathinfo($bibliotek."/".$fil);
              $filnavn = str_replace($path_parts['extension'], $fil);
              $fil_liste[] = "<a href=\"$bibliotek/$fil\">$filnavn</a>";
            }
        } 
 
        closedir($bib);
     
        if (is_array($fil_liste)) {
            $liste = "" . join("", $fil_liste) . "";
        } else {
            $liste = "Ingen filer p&aring; lager";
        }
     
        $fil_lager = " " . $liste . " ";

        return $fil_lager;
       
    } else {
        die("Kunne ikke &aring;bne biblioteket: " . $bibliotek);
    }
}

$bibliotek = "posts";
echo list_filer($bibliotek);

?>

Sådan vil jeg mene det bør være.
Avatar billede mrbs Nybegynder
05. januar 2006 - 16:46 #5
Følgende fejlmeddelelse:

Warning: Wrong parameter count for str_replace() in
/static_bottom.php on line 8
Avatar billede jaw Nybegynder
05. januar 2006 - 16:50 #6
Hov, denne linie:
$filnavn = str_replace($path_parts['extension'], $fil);
skal lige være:
$filnavn = str_replace($path_parts['extension'], "", $fil);
Avatar billede jaw Nybegynder
05. januar 2006 - 16:51 #7
Og helt perfekt så skal den være:
$filnavn = str_replace(".".$path_parts['extension'], "", $fil);
Avatar billede mrbs Nybegynder
05. januar 2006 - 16:57 #8
Perfekt!
Du skal have mange tak!
Smid et svar!

Mads :)
Avatar billede jaw Nybegynder
05. januar 2006 - 17:22 #9
Selv tak - og et 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