Prüfen ob eine Datei mit Punkt oder Punkten beginnt

Thomas_Jung

Erfahrenes Mitglied
Hallo,

ich habe folgendes Script das mir ein Verzeichnis Recursive umbenennt.

PHP:
function rename_recursive($start_dir, $debug = true) {
    $str = "";
    $files = array();
    if (is_dir($start_dir)) {
        $fh = opendir($start_dir);
        while (($file = readdir($fh)) !== false) {
         
     if (strpos($file, '.')=== 0) continue;

            $filepath = $start_dir . '/' . $file;
            if ( is_dir($filepath) ) {
                $newname = sanitize_file_name($filepath);
                $newname_2 = preg_replace( "/^[^A-Za-z]+/", '', $newname );
                $str.= "<br />From $filepath\nTo $newname\n";
                rename($filepath, utf8_encode($newname_2));
                rename_recursive($newname);
            } else {
                $newname = sanitize_file_name($filepath);
                 $newname_2 = preg_replace( "/^[^A-Za-z]+/", '', $newname );
                $str.= "<br />From $filepath\nTo $newname\n";
                rename($filepath, utf8_encode($newname_2));
            }
        }
        closedir($fh);
    }
    if ($debug) {
        echo $str;
    }
}


Das Problem ist nur wenn der Dateiname mit einem oder mehreren Punkten beginnt
wird die Datei erst gar nicht eingelesen :):):)

z.b.
$dateiname = '... Dann Geh Doch#Howard Carpendale.mp3';

Kann mir jemand helfen das zu ändern.

Gruß Thomas Jung
 
Hi

ganz einfach
Code:
if (strpos($file, '.')=== 0) continue;
zu
Code:
if ($file == '.' || $file == '..') continue;
ändern?
 
Zurück