is_file und is_dir() funktioniert nicht

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • is_file und is_dir() funktioniert nicht

    Hallo!

    Ich hab ein kleines Skript geschrieben, dass einen Ordner auslesen soll und den Inhalt ausgeben mit Unterscheidung zwischen Ordnern und Dateien. (in weiterer Folge soll es alle Dateien und Unterordner mittels Rekursion kopieren)

    in meinem Verseichnis (start) habe ich folgende Dateien/Ordner:
    Datei: 1.txt
    Datei: 2.txt
    Datei: 3.txt
    Datei: 4.txt
    Ordner: unter_ordner

    Jetzt zu meinem Skript:



    PHP-Code:


    <?php 

    function mycopy($source_dir$dest){ 
    $opendir=opendir($source_dir); 

    while(
    $content readdir($opendir)){ 
    if(
    is_file($content) && $content!="." && $content!=".."
    echo 
    "File: ".$content."<br>"
    if(
    is_dir($content) && $content!="." && $content!=".."
    echo 
    "Ordner: ".$content."<br>"



    mycopy("start""ziel"); 
    ?>

    wenn ich jetzt aber die if-Anweisungen weglasse, dann zeigt er den Inhalt an:


    PHP-Code:

    <?php 

    function mycopy($source_dir$dest){ 
    $opendir=opendir($source_dir); 

    while(
    $content readdir($opendir)){ 
    #if(is_file($content) && $content!="." && $content!="..") 
    echo "Inhalt: ".$content."<br>"
    #if(is_dir($content) && $content!="." && $content!="..") 
    # echo "Ordner: ".$content."<br>"; 



    mycopy("start""ziel"); 
    ?>

    Ausgabe:
    Inhalt: .
    Inhalt: ..
    Inhalt: 1.txt
    Inhalt: 2.txt
    Inhalt: 3.txt
    Inhalt: 4.txt
    Inhalt: unter_start

    Wenn ich beide if-Anweisungen verneine, kommt folgende Ausgabe:


    PHP-Code:

    <?php 

    function mycopy($source_dir$dest){ 
    $opendir=opendir($source_dir); 

    while(
    $content readdir($opendir)){ 
    if(!
    is_file($content) && $content!="." && $content!=".."
    echo 
    "File: ".$content."<br>"
    if(!
    is_dir($content) && $content!="." && $content!=".."
    echo 
    "Ordner: ".$content."<br>"



    mycopy("start""ziel"); 
    ?>
    Ausgabe:

    File: 1.txt
    Ordner: 1.txt
    File: 2.txt
    Ordner: 2.txt
    File: 3.txt
    Ordner: 3.txt
    File: 4.txt
    Ordner: 4.txt
    File: unter_start
    Ordner: unter_start


    Hab leider keinen Fehler gefunden!

  • #2
    du liest die dateien im ordner $source_dir und willst wissen ob im aktuellen verzeichnis (das ziemlich sicher verschieden ist von $source_dir) eine datei existiert, die genauso heißt...


    setze mal $source_dir (und einen slash als verzeichnistrenner) vor den dateinamen bei deinen prüfungen
    Ich denke, also bin ich. - Einige sind trotzdem...

    Kommentar


    • #3
      sorry, ich versteh nicht ganz...

      wie soll das dann aussehen?

      Kommentar


      • #4
        Original geschrieben von NiciB
        wie soll das dann aussehen?
        na statt
        PHP-Code:
        is_file($content
        einfach
        PHP-Code:
        is_file($source_dir.'/'.$content
        an den anderen stellen natürlich analog.
        I don't believe in rebirth. Actually, I never did in my whole lives.

        Kommentar


        • #5
          ja, jetzt geht's! Danke!!!!

          Kommentar

          Lädt...
          X