Avatar billede tjensen Nybegynder
19. maj 2006 - 10:09 Der er 5 kommentarer og
1 løsning

Omdøb mapper og filer

Hey,

Jeg sidder og arbejder med et galleri.
Da jeg ikk har php5 leger jeg med følgende script:

function scandir($dir, $type){
    if(is_dir($dir)){
            $dir_open = opendir($dir);
    }else{
        echo "False dir:{$dir}<br>";
        return false;
    }

    while(($dir_content = readdir($dir_open)) !== false){
        if($type == "mappe"){
            if(is_dir($dir."/".$dir_content)){
                $files[] = $dir_content;
            }
        }elseif($type == "fil"){
            if(is_file($dir."/".$dir_content)){
                $files[] = $dir_content;
            }
        }else{
            $files[] = $dir_content;
        }
    }
    sort($files, SORT_STRING);
    return $files;
}

Nu ville jeg gerne udvide det lidt, så hvis den falder over en mappe eller fil der indeholde enten æ,ø eller å. Så rename'er den lige til henholdsvis ae, oe og aa.

Har selv været igang med et par udkast, men vil ikk starte med at farve jeres forslag :P

Hilsen Thomas
Avatar billede fixxxer Nybegynder
19. maj 2006 - 22:00 #1
Avatar billede tjensen Nybegynder
20. maj 2006 - 02:25 #2
Hey fixxxer,

Tak fordi hjælpen! Fik det hen nu, havde godt nok haft gang i de funktioner.
Men det gad ikk lykkes, dog efter du lige bekræftede hvad jeg skulle bruge tog jeg kæmpen op!

Endte således:

function scandir($dir, $type){
    if(is_dir($dir)){
        $pos = strpos(basename($dir), array("æ","ø","å"));
      if($pos === false){
            $new_name = str_replace("æ", "ae", $dir);
            $new_name = str_replace("ø", "oe", $new_name);
            $new_name = str_replace("å", "aa", $new_name);
            rename($dir, $new_name);
            $dir_open = opendir($new_name);
        }else{
            $dir_open = opendir($dir);
        }
    }else{
        echo "False dir:{$dir}<br>";
        return false;
    }

    while(($dir_content = readdir($dir_open)) !== false){
        if($type == "mappe"){
            if(is_dir($dir."/".$dir_content)){
                $files[] = $dir_content;
            }
        }elseif($type == "fil"){
            if(is_file($dir."/".$dir_content)){
                $files[] = $dir_content;
            }
        }else{
            $files[] = $dir_content;
        }
    }
    sort($files, SORT_STRING);
    return $files;
}
Avatar billede fixxxer Nybegynder
20. maj 2006 - 02:45 #3
Smid selv et svar og accepter. Det er jo en god løsning på problemet.
Avatar billede tjensen Nybegynder
21. maj 2006 - 17:02 #4
Hmm, underligt. Det virkede et kort stykke tid.. Og nu er det stoppet med at virke.
Det er ikk scriptet der er noget galt med vel?
Avatar billede tjensen Nybegynder
21. maj 2006 - 17:02 #5
måske  $pos = strpos(basename($dir), array("æ","ø","å"));

Hvordan har strpos det med at det er et array, gør vel ikk noget?
Avatar billede tjensen Nybegynder
17. juli 2008 - 15:29 #6
lukker gamle åbne spørgsmål.
Nogle der føler de er blevet snydt for point, sig skriv endelig.
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