Problem mit regulärem Ausdruck

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

  • Problem mit regulärem Ausdruck

    Hallo zusammen,

    ich packe mit phar alle Dateien und Ordner innerhalb eines Pfades in eine ZIP-Datei.
    PHP-Code:
    $phar = new PharData('backup.zip');
    if(
    $phar->buildFromDirectory('../html/')){
     echo 
    "FERTIG"

    Ich habe gelesen, dass man bei buildFromDirectory() als 2. Parameter einen regulären Ausdruck mitgeben kann. Ich möchte z.B. die Verzeichnisse "bilder" und "test" nicht mit in der Zip-Datei haben. Wie bekomme ich das bewerkstelligt? Was ich auch probioere, ich bekomme das einfach nicht hin.

    Danke für alle Tipps

  • #2
    Hallo,

    ich vermute, du brauchst eine negative look-ahead assertion à la
    PHP-Code:
    "<^(?!bilder|test).+$>" 
    Gruß,

    Amica
    [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
    Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
    Super, danke!
    [/COLOR]

    Kommentar


    • #3
      Meh. Egal, ich poste das jetzt dennoch.

      In der Theorie:

      PHP-Code:
      $paths = array(
          
      'foo',
          
      'bar',
          
      'buz',
          
      'baz/boz',
          
      'test',
          
      'bilder'
      );

      $filtered preg_filter('/^(?!test|bilder)/''$0'$paths);

      var_dump($filtered); 
      Cornercase: Pfadnamen, die etwa mit "test" beginnen, aber nicht "test/" sind, sondern eine Datei "testfoo" oder so. Da müsstest du im Zweifel noch Pfadseparatoren oder so mit reinbringen.

      Kommentar

      Lädt...
      X