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