Master736: Bestimmte datein aus ordner ausgeben

Hallo

ich möchte aus einem Ordner wo mehrere verschiedene Files drin sind eine liste der Files erstellen mit der Endung .bsp

diese Auflistung soll dann hinterher so aussehen
bei den Dateien ( test.bsp, test2.bsp, test3.bsp, test1.wad)

test "test"
test1 "test1"
test2 "test2"

die Datei test1.wad soll hierbei komplett ignoriert werden

kenn mich zwar n bischen mit php aus aber leider hab ich das nicht so hingekriegt
wäre nett wenn mir da wer helfen könnte

Mit Freundlichen Grüßen:
Master736

  1. Lies die Dateien aus dem Ordner und dann sowas:

    if (substr($var,-4,4)!='.bsp') {
    continue;
    } else {
    echo $var;
    }

    Sowas in der Art

  2. Hi,

    die Datei test1.wad soll hierbei komplett ignoriert werden
    kenn mich zwar n bischen mit php aus aber leider hab ich das nicht so hingekriegt

    also das verzeichnis durchlaufen kannst du schon mal, nehme ich an.

    wäre nett wenn mir da wer helfen könnte

    Was du zu tun hast ist also in der Schleife eine Abfrage zu machen.

    zb.
    if($dateiendung != 'bsp'){continue;};

    Das bedeutet, wenn eine andere Endung als bsb auftaucht, soll die Schleife den nächsten Durchlauf machen. So bleiben am Ende nur die gewünschten Dateien.

    carpe noctem
    Pia

    1. if($dateiendung != 'bsp'){continue;};

      so natürlich, semikolon am Ende gehört nicht dahin:
      if($dateiendung != 'bsp'){continue;}

      Pia

  3. Hi!

    kenn mich zwar n bischen mit php aus aber leider hab ich das nicht so hingekriegt

    Und wo genau hängst du fest?
    Wie sieht denn dein Script aus?
    Es wäre sehr sinnvoll, wenn du deine Versuche gepostet hättest.

    ich möchte aus einem Ordner wo mehrere verschiedene Files drin sind eine liste der Files erstellen mit der Endung .bsp

    Als erstes brauchst du das Verzeichnis-Handle, welches dir opendir() zurückgibt.
    Danach gehst du das Verzeichnis in einer Schleife mit readdir() durch.

    diese Auflistung soll dann hinterher so aussehen
    bei den Dateien ( test.bsp, test2.bsp, test3.bsp, test1.wad)

    test "test"
    test1 "test1"
    test2 "test2"

    Mit basename() und dem optionalen zweiten Parameter extrahierst du den Dateinamen ohne die Endung ".bsp".

    die Datei test1.wad soll hierbei komplett ignoriert werden

    Das macht man mit einer einfachen if-Abfrage.

    Den folgenden Code habe ich jetzt nicht getestet. Eventuell ist irgendwo ein Flüchtigkeitsfehler drin.
    Und eventuell willst du dir für deine Zwecke noch Anpassungen vornehmen.
    Das Prinzip sollte man aber so erkennen können.

    <?php  
     $folder = opendir( "./" );  
     while ( ( $entry = readdir( $folder ) ) !== FALSE )  
     {  
      if ( $entry != "." && $entry != ".." )  
      {  
       if ( $entry != 'test1.wad' )  
       {  
        $filename = basename( $entry, '.bsp' );  
        echo $filename . "\"". $filename ."\"<br>\n";  
       }  
      }  
     }  
     ?>
    

    Schöner Gruß,
    rob

    1. Hallo rob.

      <?php

      $folder = opendir( "./" );
      while ( ( $entry = readdir( $folder ) ) !== FALSE )
      {
        if ( $entry != "." && $entry != ".." )
        {
         if ( $entry != 'test1.wad' )
         {
          $filename = basename( $entry, '.bsp' );
          echo $filename . """. $filename .""<br>\n";
         }
        }
      }
      ?>

        
      Ick [glob](http://de.php.net/manual/de/function.glob.php) dat jet einfacher.  
        
        
      Einen schönen Montag noch.  
        
      Gruß, Mathias  
      
      -- 
      ie:% fl:| br:< va:) ls:& fo:) rl:( n4:~ ss:) de:] js:| mo:| zu:)  
        
      debian/rules
      
  4. so habe jetzt ein paar teile hier zusammen geschnitten und hab das richtige ergebnis

    damit ihr auch seht was ich gemacht hab hier mein code

      
    <?php  
     $folder = opendir( "./" );  
     while ( ( $entry = readdir( $folder ) ) !== FALSE )  
      
     {  
       if ( $entry != "." && $entry != ".." )  
       {  
        {  
      
       if (substr($entry,-4,4)!='.bsp') {  
    continue;  
    } else {  
     $entry;  
    }  
      
         $filename = basename( $entry, '.bsp' );  
      
         echo $filename . "\"". $filename ."\"<br>\n";  
        }  
       }  
     }  
    ?>  
    
    

    solltet ihr doch einen fehler entdecken sacht mir bescheid

    und Danke für die mithilfe

    MFG: Master736

    1. Ahoi Master736,

      so habe jetzt ein paar teile hier zusammen geschnitten und hab das richtige ergebnis

      damit ihr auch seht was ich gemacht hab hier mein code

      <?php
      $folder = opendir( "./" );
      while ( ( $entry = readdir( $folder ) ) !== FALSE )

      {
         if ( $entry != "." && $entry != ".." )
         {
          {

      if (substr($entry,-4,4)!='.bsp') {
      continue;
      } else {
      $entry;
      }

      $filename = basename( $entry, '.bsp' );

      echo $filename . """. $filename .""<br>\n";
          }
         }
      }
      ?>

      
      >   
      > solltet ihr doch einen fehler entdecken sacht mir bescheid  
        
      Naja, fehler nicht wirklich. Die klammern sind wohl durch c+p Fehler entstanden. Ich persöhnlich hätte es wie folgt gelöst:  
        
      ~~~php
        
      <?php  
      $folder = opendir( "./" );  
      while ( ( $entry = readdir( $folder ) ) !== FALSE )  
      {  
        if ( $entry != "." && $entry != ".." )  
        {  
          if (substr($entry,-4,4)=='.bsp')  
          {  
            $filename = basename( $entry, '.bsp' );  
            echo $filename . "\"". $filename ."\"<br>\n";  
          }  
        }  
      }  
      ?>  
      
      

      MfG