Anzeige:
Ergebnis 1 bis 2 von 2

Thema: Files durchsuchen, bestimmten Part auslesen und bearbeiten

  1. #1
    323ti
    Gast

    Files durchsuchen, bestimmten Part auslesen und bearbeiten

    Hallo,
    stehe hier vor einem kleinen Problem vor einem kleinen Programm .

    1. Ich möchte nur mittels PHP alle Files welche sich im selben bzw. in Unterordnern befindet durchsuchen und auslesen.
    Das auslesen selber ist ja kein Problem, jedoch wie kann ich im alle Unterordner durchsuchen lassen und das ganze noch dynamisch machen? Ich weiss im vorhinein leider nicht wie das File heisst.

    Die gefundenen Files, welche mit *.prop enden sollen angezeigt werden und wenn ich eines von den angezeigten auswähle sollte ich zu Punkt 2 kommen.

    2. Sollen die Files auf "_prop_" durchsucht werden und ausgeben werden.
    Bsp.
    _prop_text = "blabla" .. -> Text blabla

    Ich hab zwar Grundkenntnisse in PHP weiss jedoch nicht wie ich das realisieren soll ... und nachdem ich jetzt ein paar Tage herumprobiert habe, versuche ich im Internet hilfe, bzw. Tips zu finden.

    Danke!

    Grüße
    Michael

  2. #2
    Registrierter Benutzer
    Registriert seit
    25.12.2004
    Beiträge
    217
    Hallo Michael,

    zu 1.
    guck mal in den Kommentaren bei:
    http://de2.php.net/open_dir

    Auf die Schnelle ist mir folgende Funktion ins Auge gesprungen:
    PHP-Code:
    function search_dir($mask,$dir,$level){
       if(
    $level 3){
           return 
    "Exceeded max level (3)";
       }
       
    $return_me = array();
       if (
    is_dir($dir)) {
           if (
    $dh opendir($dir)) {
               while ((
    $file readdir($dh)) !== false) {
                   
    #echo "filename: $file : filetype: " . filetype($dir . $file) . " level: $level\n";
                   
    if(is_dir($dir."\\".$file) and $file != '.' and $file != '..'){
                       
    $test_return search_dir($mask,$dir."\\".$file,$level+1);
                       if(
    is_array($test_return)){
                           
    $temp array_merge($test_return,$return_me);
                           
    $return_me $temp;
                       }
                       if(
    is_string($test_return)){
                           
    array_push($return_me,$test_return);
                       }
                   
    #} else if(strpos($file,$mask) !== FALSE){  #A bit faster, but you can't use regexs!
                   
    } else if(preg_match($mask,$file)){
                       
    array_push($return_me,$dir."\\".$file);
                   }
               }
               
    closedir($dh);
           }
       }
       return 
    $return_me;

    Aufruf müsste so aussehen:
    PHP-Code:
    search_dir('.prop''/path/'0
    Natürlich kann es sein, dass in den Kommentaren noch andere Funktionen stehen die du gut gebrauchen kannst.

    Benutzt du PHP5 kannst du das alles auch über die "RecursiveDirectoryIterator" Klasse regeln. Einfach mal googlen.

    zu 2.
    Um aus '_prop_text = "blabla"' "blabla" auszulesen kannst du reguläre Ausdrücke verwenden. In PHP geht das dann mit der Funktion preg_match().

    Das wäre dann in etwa sowas:
    PHP-Code:
    $aLines     file('path/to/file/');
    $regexValue '/_prop_(.*)\W=\W\"(.*)\"/';

    foreach (
    $aLines as $line) {
       if (
    preg_match($regexValue $line$matches)) {
          
    print_r($matches);
       }

    In dem Array $matches sollten dann die Treffer stehen. Code ist ungetestet, sollte aber so in etwa funktionieren.

    Bei Fragen fragen

    Grüße,
    nEox

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •