Ausgeben von bestimmten Dateien aus einem Ordner
wuscheck
- php
Ich habe einen Ordner, dessen Dateien ich auslese und sortiere:
2009-09-13-k-oh.jpg
2009-09-13-g-oh.jpg
2009-09-12-k-dh.jpg
2009-09-12-g-dh.jpg
Ich benötige allerdings nur die beiden Dateien, die ein "-k- beinhalten. Wie gehe ich dafür vor?
Vielen Dank im Voraus!
Hi,
Ich habe einen Ordner, dessen Dateien ich auslese und sortiere:
auf welche Weise?
Cheatah
Hi,
Ich habe einen Ordner, dessen Dateien ich auslese und sortiere:
auf welche Weise?
Cheatah
Hier ist der Code:
// als array festlegen
$stack=array();
$handle=opendir($folder);
while ($file=readdir($handle)){
if($file!=".." && $file!="." && !is_dir($file)){
if (strpos($file,".jpg") ||
strpos($file,".gif") ||
strpos($file,".png")) {
// an das ende des arrays anfügen
array_push($stack,$file);
$i++;
}
}
}
closedir($handle);
// nach abc sortieren
rsort($stack);
es können nur dateien vorkommen, die so aufgebaut sind, wie oben gezeigt. Das aktuellste Datum der jeweiligen Gruppe -k-oh oder k-dh hole ich mir über $stack[0]. Allerdings fehlt mir der Zwischenschritt, indem ich erst einmal die k-oh und k-dh erkenne. Denn die beiden Bilder mit dem aktuellsten Datum und diesen beiden Endungen sollen später angezeigt werden.
Moin Moin!
if (strpos($file,".jpg") ||
strpos($file,".gif") ||
strpos($file,".png")) {// an das ende des arrays anfügen
array_push($stack,$file);
Möchtest Du hier wirklich strpos verwenden? Auf diese Art würde auch "kurnikova.jpg.exe" im Array landen, genau wie "vorsicht.giftig.txt".
Alexander
Hello,
Ich habe einen Ordner, dessen Dateien ich auslese und sortiere:
2009-09-13-k-oh.jpg
2009-09-13-g-oh.jpg
2009-09-12-k-dh.jpg
2009-09-12-g-dh.jpgIch benötige allerdings nur die beiden Dateien, die ein "-k- beinhalten. Wie gehe ich dafür vor?
Dann besorge doch auch nur die Namen der Dateien, die ein 'k' enthalten:
http://de.php.net/manual/de/function.glob.php
Das geht selbstverständlich mit etwas mehr Eigenanstrengung auch mit
http://de.php.net/manual/de/function.readdir.php
oder
http://de.php.net/manual/de/function.scandir.php
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg
Hello,
Ich habe einen Ordner, dessen Dateien ich auslese und sortiere:
2009-09-13-k-oh.jpg
2009-09-13-g-oh.jpg
2009-09-12-k-dh.jpg
2009-09-12-g-dh.jpgIch benötige allerdings nur die beiden Dateien, die ein "-k- beinhalten. Wie gehe ich dafür vor?
Dann besorge doch auch nur die Namen der Dateien, die ein 'k' enthalten:
http://de.php.net/manual/de/function.glob.php
Das geht selbstverständlich mit etwas mehr Eigenanstrengung auch mit
http://de.php.net/manual/de/function.readdir.php
oder
http://de.php.net/manual/de/function.scandir.phpLiebe Grüße aus dem schönen Oberharz
Tom vom Berg
Ich habe das Beipiel mal umgeschreiben, aber es funzt nicht. Es wird int(1) ausgegeben...
function match_wildcard( $wildcard_pattern, $haystack ) {
$regex = str_replace(
array("\*", "\?"), // wildcard chars
array('.*','.'), // regexp chars
preg_quote($wildcard_pattern)
);
return preg_match('/^'.$regex.'$/is', $haystack);
}
$test = "2009-09-12-k-dh";
var_dump(
match_wildcard('*k-dh*', $test)
);