// Each of these:
// - scans the directory for all files
// - checks each file
// - for each file, does it match the pattern described
// - if it does, expand the path
// - include the file once
function includeFilesBeginningWith($dir, $str) {
$files = scandir($dir);
foreach ($files as $file) {
if (strpos($file, $str) === 0) {
$path = $dir . '/' . $file;
include_once($path);
}
}
}
function includeFilesEndingWith($dir, $str) {
$files = scandir($dir);
foreach ($files as $file) {
if (strpos(strrev($file), strrev($str)) === 0) {
$path = $dir . '/' . $file;
include_once($path);
}
}
}
/* To use: - the first parameter is ".",
the current directory, you may want to
change this */
includeFilesBeginningWith('.', 'id_1');
includeFilesEndingWith('.', '_1.php');
能號碼被跳過? EG你可以有id_1_2.php和id_1_4.php,但沒有id_1_3.php? 另外,你只會一直在尋找「1」?或者你可能想要找到所有的id_2_X.php或id_X_3.php文件幷包含它們? – aslum 2010-04-27 22:04:46
@aslum,如果數字可以跳過,那麼在沒有獲得目錄中所有文件的列表的情況下,確實無法知道哪些文件存在。我不認爲是這樣。 – Cam 2010-04-27 22:07:07
如果這些文件正在自動生成到同一個目錄並且將不斷增長,我強烈建議您考慮文件系統的目錄大小限制。您只能將最大數量的文件存儲在單個目錄中。請確保你要在這些限制內進行縮放;) 另外,我無法確切知道你的確切情況,但是如果這些文件是在某處自動生成的,這與使用'eval(如果不是更多) )'。 – d11wtq 2010-04-28 00:12:56