ugrás a tartalomhoz

Keresés egy tömb elemei között

Anonymous · 2006. Jún. 28. (Sze), 15.24
Sziasztok!

Van egy rakás xml állományom egy könyvtárban. Ezek között kéne keresnem a filenevük alapján.
Azt megcsináltam eddig, hogy beolvasom egy tömbbe a könyvtár file-jait és mivel egy szabály alapján épült fel a nevük eddig tökéletesen ment a keresés, azonban jött egy kis bonyodalom. Most azonban változtattak a szabályokon...
Szóval, így fest most egy filenev:
AAA123_060628_xxxxxx.xml

Az xxxxxx helyén tetszőleges számok állhatnak, 5 vagy 6 számjegy. És a keresésénél az összes eredményt meg kéne találnom.

Ha nem elég érthető, akkor:
megadja a felhasználó a keresési feltételt, pl: AAA123 és dátum 060628.
Ez alapján meg kéne találnom az összes olyan xml-t, amelynek a fileneve tartalmazza ezt a sztringet: AAA123_060628.

Remélem érthető voltam. :) Várom az ötleteket. Köszi!
 
1

php.net

jbtibor · 2006. Jún. 28. (Sze), 16.00
http://hu2.php.net/manual/en/function.glob.php
http://hu2.php.net/manual/en/function.fnmatch.php
http://hu2.php.net/manual/en/function.preg-match.php
http://hu2.php.net/manual/en/function.ereg.php
2

megoldás?

krey · 2006. Jún. 28. (Sze), 16.01
Lehet, hogy nem kéne ideírnom a kész megoldást, azért tanuld meg, hogy működik!
  1. <?  
  2. function scanDir($condition$date) {  
  3.    $returnArray = array();  
  4.    if ($dir = opendir('/könvtár/útvonala')) {  
  5.       while (false !== ($file = readdir($dir))) {  
  6.          if (stristr($file,$condition."_".$date))  
  7.             $returnArray[] = $file;  
  8.       }  
  9.       return $returnArray;  
  10.    } else {  
  11.       return false;  
  12.    }  
  13. }  
  14. ?>  
üdv. krey

ps. ha nem csak .xml-ek vannak a dirben, akkor lehet, hogy érdemes regexpet használni (^$condition_$date(.*)\.xml$)
3

preg_grep

Délczeg Gábor · 2006. Jún. 28. (Sze), 16.37
Ha az adott konyvtarban levo file -ok neveit beolvastad egy tombbe, akkor tessek raszabaditani a preg_grep fv. -t.... ;-)