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, 14: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, 17: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.767   Beiträge: 429.758   Mitglieder: 28.517   Aktive Mitglieder: 48
                    Willkommen an unser neuestes Mitglied, Mys87.

                    Online-Benutzer

                    Einklappen

                    164 Benutzer sind jetzt online. Registrierte Benutzer: 1, Gäste: 163.

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

                    Die neuesten Themen

                    Einklappen

                    • Sempervivum
                      Antwort auf Da geht die Post ab oder auch nicht
                      Meinst Du mit e-Brief den Service der Deutschen Post? Da war ich auch Mal und
                      1. War es nicht sehr benutzerfreundlich
                      2. Funktionierte häufig irgend etwas nicht
                      Daher habe ich dann zu onlinebrief24.de gewechselt und bin dort sehr zufrieden. Nur Briefe verschicken, kein Empfang.

                      Oder meintest...
                      Gestern, 22:54
                    • Mys87
                      Antwort auf SSL-Zertifikat bzw. DNS Eintrag bei evanzo???
                      Hallo,

                      also es gibt im Plesk einen extra Unterpunkt für let's encrypt, da kann ich ein kostenloses Zertifikat erstellen lassen und dann wird man aufgefordert einen DNS Eintrag zu erstellen, siehe Anhang 01.
                      Ich könnte mir vorstellen dass ich die Daten bei - siehe Anhang 02 - eintragen...
                      Gestern, 22:47
                    • Testie
                      Antwort auf SSL-Zertifikat bzw. DNS Eintrag bei evanzo???
                      Der DNS-Eintrag muss ja schon vorhanden sein, da die Seite sicherlich ohne SSL, also nur http (nicht https) erreichbar ist.
                      DNS steht für Domain Name System und ist ein Protokoll zur Namensauflösung worüber die IP vom Webserver mit der Domain verbunden wird.
                      Mit dem SSL Zertifikat hat...
                      Gestern, 21:04
                    • ST747
                      Da geht die Post ab oder auch nicht
                      hi,

                      jetzt wollte ich mal ganz modern sein und hatte mich bei e-brief angemeldet.angeblich geht alles ganz schnell bis man online seine briefe schreiben kann.
                      dann kam nach ein paar tagen der brief mit dem code für eine verifizierung. nach eingabe des code musste man sich dann noch...
                      Gestern, 20:49
                    • ST747
                      Antwort auf SSL-Zertifikat bzw. DNS Eintrag bei evanzo???
                      hallo, ich kennes es nur so von meinem provider, man bestellt das für seine domäne und
                      der provider macht dann auch die zuweisung des zertifikates, also den dns-eintrag.
                      frage doch den provider erst einmal ob er das macht.das gehört eigentlich dazu.
                      viele grüße
                      gerhard...
                      Gestern, 20:24

                    Die neuesten Beiträge

                    Einklappen

                    • ST747
                      Da geht die Post ab oder auch nicht
                      hi,

                      jetzt wollte ich mal ganz modern sein und hatte mich bei e-brief angemeldet.angeblich geht alles ganz schnell bis man online seine briefe schreiben kann.
                      dann kam nach ein paar tagen der brief mit dem code für eine verifizierung. nach eingabe des code musste man sich dann noch...
                      Gestern, 20:49
                    • Sempervivum
                      Antwort auf Da geht die Post ab oder auch nicht
                      Meinst Du mit e-Brief den Service der Deutschen Post? Da war ich auch Mal und
                      1. War es nicht sehr benutzerfreundlich
                      2. Funktionierte häufig irgend etwas nicht
                      Daher habe ich dann zu onlinebrief24.de gewechselt und bin dort sehr zufrieden. Nur Briefe verschicken, kein Empfang.

                      Oder meintest...
                      Gestern, 22:54
                    • Mys87
                      SSL-Zertifikat bzw. DNS Eintrag bei evanzo???
                      Hallo zusammen,

                      da ein SSL-Zertifikat mittlerweile wohl Standard ist würde ich nun auch gerne eins einsetzen. Bin bei evanzo und da habe ich auch schon die Möglichkeit eines kostenloses Zertifikates über let's encrypt gefunden. Nun soll man ein DNS Eintrag erstellen und da komme ich...
                      Gestern, 18:13
                    • Mys87
                      Antwort auf SSL-Zertifikat bzw. DNS Eintrag bei evanzo???
                      Hallo,

                      also es gibt im Plesk einen extra Unterpunkt für let's encrypt, da kann ich ein kostenloses Zertifikat erstellen lassen und dann wird man aufgefordert einen DNS Eintrag zu erstellen, siehe Anhang 01.
                      Ich könnte mir vorstellen dass ich die Daten bei - siehe Anhang 02 - eintragen...
                      Gestern, 22:47
                    • Testie
                      Antwort auf SSL-Zertifikat bzw. DNS Eintrag bei evanzo???
                      Der DNS-Eintrag muss ja schon vorhanden sein, da die Seite sicherlich ohne SSL, also nur http (nicht https) erreichbar ist.
                      DNS steht für Domain Name System und ist ein Protokoll zur Namensauflösung worüber die IP vom Webserver mit der Domain verbunden wird.
                      Mit dem SSL Zertifikat hat...
                      Gestern, 21:04
                    • ST747
                      Antwort auf SSL-Zertifikat bzw. DNS Eintrag bei evanzo???
                      hallo, ich kennes es nur so von meinem provider, man bestellt das für seine domäne und
                      der provider macht dann auch die zuweisung des zertifikates, also den dns-eintrag.
                      frage doch den provider erst einmal ob er das macht.das gehört eigentlich dazu.
                      viele grüße
                      gerhard...
                      Gestern, 20:24
                    • blommberg
                      Ist IONOS Now geeignet? (Oder Creator?)
                      2. Frage
                      Also: Ich möchte eine Ableger-Seite von meiner Arzt Praxis (www.hno-bremen-west.de) haben, es geht um Hypnose u.ä. Wir sind schon bei IONOS mit der Praxis-Seite, gefällt mir ganz gut.
                      - Es soll vor allem die Möglichkeit bestehen, Audios einzubinden. (Der im anderen Post geäußerte...
                      14.01.2021, 12:04
                    • Megabyte
                      Antwort auf Ist IONOS Now geeignet? (Oder Creator?)
                      Hi blommberg

                      Generell kann man für 5€ nicht meckern: Das ist ok. Aber wenn man für das Einbinden von Audio - eine ultra-primitive Aktion unter HTML5 - ein Profi-Paket buchen muss ist das lächerlich...

                      Falls du auf bei deiner Webseite Zugriff auf das Skript hast (also selber...
                      Gestern, 10:27
                    • blommberg
                      Antwort auf Ist IONOS Now geeignet? (Oder Creator?)
                      Darauf komme ich zurück!



                      Das "now" Paket kostet 5,- monatlich (Domain extra), das geht doch eigentlich, oder?...
                      Gestern, 10:06
                    • Megabyte
                      Antwort auf Php Variable in einen Javascript Array einfügen?
                      Hi Nightland Driver

                      Dein Post ist schon 'ne Weile her und daher weiß ich nicht ob er noch relevant ist. Falls ja habe ich 'nen Tip, falls nein - ignorieren :-)

                      Du schreibst dass der erste Lösungsweg gut ist, aber... "Die idee an sich ist ganz gut, leider müssen vor...
                      14.01.2021, 22:20
                    Lädt...
                    X