Gibi Yacoby suggested, glob
hile yapmak gerekir. Siz de bunun birden tutucuları olabilir, bu nedenle derinlik, ancak doğru adlandırma biliyorsanız, bunu yapabilirsiniz:
$matchingFiles = glob('/server/*/7656875*');
hangi maç olur
"/server/12345/7656875 foo.txt"
"/server/56789/7656875 bar.jpg"
ama
"/server/12345/subdir/7656875 foo.txt"
Eğer derinliği glob()
yardımcı olmaz bilmiyorsanız, örn, en üst klasör yolu bir RecursiveDirectoryIterator geçen kullanabilirsiniz
$iterator = new RecursiveIteratorIterator(
new RecursiveDirectoryIterator('/server'));
foreach($iterator as $fileObject) {
// assuming the filename begins with the number
if(strpos($fileObject->getFilename(), '7656875') === 0) {
// do something with the $fileObject, e.g.
copy($fileObject->getPathname(), '/somewhere/else');
echo $fileObject->openFile()->fpassthru();
}
}
* Note: code is untested but should work
DirectoryIterator return SplFileInfo nesneler, böylece doğrudan üst düzey bir API aracılığıyla dosyalara erişmek için kullanabilirsiniz.