Ankündigung

Einklappen
Keine Ankündigung bisher.

einzelnes Wort aus Dateiname finden

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

  • einzelnes Wort aus Dateiname finden

    Hallo!
    Mit einer IFAbfrage und dem Befehl file_exist() überprüfe ich, ob eine bestimmte Datei exisitiert.. so weit so gut

    Gibt es auch eine Möglichkeit nur einen Teil des Dateinamens abzufragen?

    Zum Beispiel:
    test_21-09-2007.txt

    und ich will überprüfen ob "test" in der Datei vorkommt.
    Mit file_exist() wills nicht funktionieren.....

    Vielen Dank!

  • #2
    AW: einzelnes Wort aus Dateiname finden

    Dazu brauchst du eine RegExe.
    http://www.php.net/preg_match

    Kommentar


    • #3
      AW: einzelnes Wort aus Dateiname finden

      ich habe nun das hier:

      PHP-Code:
      { if($Verzeichniszeiger opendir("database/$user/besucher/"))
      { while(
      $Datei readdir($Verzeichniszeiger))
      { if (
      $Datei != "." && $Datei != "..")
      { if(
      is_dir($Datei))
      { echo
      "<font color=\"red\">"; }

      # Content

       
      if (preg_match("/simsi/i""$Datei"))
      {

      echo 
      "existiert nicht";

      }
      else
      {

      echo 
      "Existiert";

      }
       
       
      "  ";
      if(
      is_dir($Datei))
      { echo
      "</font>"; }
      }} 
      closedir($Verzeichniszeiger); }} 
      hier ist aber das Problem, dass "Existiert" oder "existiert nicht" so viel mal ausgegeben werden, wie es Dateien gibt.

      Mein Ziel ist es "existiert" nur einmal auszugeben, auch wenn es mehrere Dateien gibt, in denen das Suchkriterium vorhanden ist...

      Danke

      Kommentar


      • #4
        AW: einzelnes Wort aus Dateiname finden

        Naja also ich weiß nicht ob ich nun komplizierter denke als nötig aber ich würde das wohl in etwa so lösen:

        erst eine variable setzen, zB $exist = 0;

        dann die while schleife

        darin die if abfrage mit preg_match. wenn ein match gefunden wird wird die variable geändert und die while schleife mit break angehalten.

        Nach der while schleife eine weitere if abfrage nach der variablen, wenn die noch 0 ist dann echo nicht gefunden, wenn die aber was anderes ist dann echo gefunden.

        also in etwa so (nur das schema):

        PHP-Code:
        $exist 0;

        while(
        $Datei readdir($Verzeichniszeiger))
        {
          if (
        preg_match("/simsi/i""$Datei")) 
          {
          
        $exist 1;
          break;
          }
        }

        if (
        $exist 0)
        {
        echo 
        'existiert nicht';
        }

        else
        {
        echo 
        'existiert';



        Alternativ könnte man das auch erweitern und die Anzahl der gefundenen Dateien mit angeben:



        PHP-Code:
        $exist 0;

        while(
        $Datei readdir($Verzeichniszeiger))
        {
          if (
        preg_match("/simsi/i""$Datei")) 
          {
          
        $exist++;  
          }
        }

        if (
        $exist 0)
        {
        echo 
        'existiert nicht';
        }

        else
        {
        echo 
        'existiert ' $exist ' mal';

        nicht von mir gemacht, nur von mir empfohlen:
        Die Goldenen Regeln für Schlechtes HTML
        :gott: SelfHTML
        Farben - Lehre, Wirkung, Harmonie

        Kommentar


        • #5
          AW: einzelnes Wort aus Dateiname finden

          das einfachste und schnellste wäre glob.

          PHP-Code:
          $test=glob('*test*'); 
          AC/DC Fanpage www.ifyouwantblood.de
          Nein zur Zensur im Internet und anderswo - Anonymous

          Kommentar


          • #6
            AW: einzelnes Wort aus Dateiname finden

            Ansonsten, wenn du nur auf ein Wort überprüfen willst versuchs mit strpos(). Das ist deutlich schneller.

            Kommentar


            • #7
              AW: einzelnes Wort aus Dateiname finden

              So bin wieder da^^
              also ich hab mich einmal für strpos() entschieden.

              Da hab ich mal folgendes probiert:

              PHP-Code:
              $meinString 'ABCwortDEF';
              $findMich   'wort';
              $pos strpos($meinString$findMich);

              if (
              $pos === false) {
                  echo 
              "Der Stringg '$findMich' wurde nicht im String '$meinString' gefunden";
              } else {
                  echo 
              "Der Stringg '$findMich' wurde im String '$meinString' gefunden";

              Funktioniert soweit auch. Aber anstelle von "ABCwortDEF" sollte im Prinzip das Verzeichnis nach vorhandenen Dateien durchsucht werden.
              Das hab ich noch nicht so ganz raus...

              Danke


              Edit (autom. Beitragszusammenführung):

              ok ne danke! habs rausgefunden - funzt prima (=
              Zuletzt geändert von ramvolt; 30.09.2007, 13:02. Grund: Antwort auf eigenen Beitrag innerhalb von 24 Stunden!

              Kommentar


              • #8
                AW: einzelnes Wort aus Dateiname finden

                Also ich hätts folgendermaßen gelöst:

                PHP-Code:
                $dateien = array();

                // Dateien aus 'mein_verzeichnis' ins Array schreiben
                foreach(glob('mein_verzeichnis/*.*') as $datei) {
                    
                $dateien[] = $datei;
                }

                // Array durchsuchen
                for($i=0;$i<count($dateien);$i++) {
                    if(
                strpos($dateien[$i],$dein_string)) {
                        echo 
                'Gefunden';
                    } else {}

                Ist nicht durchgetestet das ganze, aber ich hoffe es hilft dir nen Ansatz zu finden.

                MfG

                NewLord
                Zuletzt geändert von NewLord; 09.10.2007, 16:29.

                Kommentar


                • #9
                  AW: einzelnes Wort aus Dateiname finden

                  Zitat von NewLord Beitrag anzeigen
                  Also ich hätts folgendermaßen gelöst:

                  PHP-Code:
                  $dateien = array();

                  // Dateien aus 'mein_verzeichnis' ins Array schreiben
                  foreach(glob('mein_verzeichnis/*.*') as $datei) {
                      
                  $dateien[] = $datei;
                  }

                  // Array durchsuchen
                  for($i=0;$i<count($dateien);$i++) {
                      if(
                  strpos($dateien[$i],$dein_string)) {
                          echo 
                  'Gefunden';
                      } else {}

                  Ist nicht durchgetestet das ganze, aber ich hoffe es hilft dir nen Ansatz zu finden.

                  MfG

                  NewLord
                  glob kann das auch....

                  PHP-Code:
                  foreach(glob('mein_verzeichnis/*test*') as $datei)
                  {
                    echo 
                  $datei;

                  da glob das direkt über das direkt so an die shell übergibt ists auch schneller....
                  AC/DC Fanpage www.ifyouwantblood.de
                  Nein zur Zensur im Internet und anderswo - Anonymous

                  Kommentar


                  • #10
                    AW: einzelnes Wort aus Dateiname finden

                    Ich kann noch eine Version beisteuern, und zwar mit explode ^^

                    Kommentar

                    homepage-forum.de - Hilfe für Webmaster! Statistiken

                    Einklappen

                    Themen: 56.716   Beiträge: 429.215   Mitglieder: 28.474   Aktive Mitglieder: 45
                    Willkommen an unser neuestes Mitglied, sw2.

                    Online-Benutzer

                    Einklappen

                    243 Benutzer sind jetzt online. Registrierte Benutzer: 8, Gäste: 235.

                    Mit 3.502 Benutzern waren am 23.01.2020 um 17:20 die meisten Benutzer gleichzeitig online.

                    Die neuesten Themen

                    Einklappen

                    • MrMurphy
                      Antwort auf text-align
                      Durch "position: fixed" wird der Container #info auf die Breite des Inhalts beschränkt. Das kannst du sehen, wenn du #info eine Hintergrundfarbe gibst. Zur Abhilfe kannst du #info eine Breite von 100% zuweisen.

                      Insgesamt wirst du mit fixed aber wohl nicht glücklich werden. In...
                      Heute, 16:31
                    • Sempervivum
                      Antwort auf text-align
                      Das text-align:center zentriert das Element, das darin liegt und das ist <h1>. Weil <h1> aber die ganze Breite ausfüllt, wirkt diese Zentrierung nicht. Du musst den Text innerhalb des <h1> zentrieren:
                      Code:
                      #info h1 {
                          text-align: center;
                      }
                      oder das <h1>...
                      Heute, 16:25
                    • silent
                      text-align
                      Guten Tag an alle,
                      nun ich bekomme es irgendwie nicht hin, dass der Text "Informationen" mittig ist (siehe Foto).

                      Mein HTML-Code sieht wie folgt aus:

                      HTML-Code:
                      <div class="inf" id="info">
                      <h1> Informationen </h1>
                      ...
                      Heute, 15:23
                    • AGW
                      bei WordPress Theme, bei ,,Slider-Banner" mehr anzeigen
                      Hallo,

                      ich möchte bei meine Theme ,,Newslay" bei ,,Slider-Baner", dass nicht nur 4 angezeigt werden, sondern mehrere. Ich habe schon danach gesucht, aber nichts Hilfreiches dazu gefunden.
                      ...
                      Heute, 08:15
                    • AGW
                      Antwort auf 2 Domains, aber nur ein WordPress
                      Ja ich weiß, aber ich habe schon Versucht selber Artikel zu schreiben, aber irgendwie geht es nicht voran beim Schrieben....
                      Gestern, 20:34

                    Die neuesten Beiträge

                    Einklappen

                    Lädt...
                    X