我有這樣的PHP代碼:PHP目錄的目錄結構和排除了某些目錄
$rootpath = '../admin/';
$inner = new RecursiveDirectoryIterator($rootpath);
$fileinfos = new RecursiveIteratorIterator($inner);
foreach ($fileinfos as $pathname => $fileinfo)
{
$pathname2 = substr($pathname,2);
$sql = "SELECT * from admin_permissions where page_name = '$pathname2'";
$rs = mysql_query($sql,$conn);
if (mysql_num_rows($rs) == 0)
{
if (!$fileinfo->isFile()) continue;
$sql2 = "INSERT into admin_permissions (page_name) values ('$pathname2')";
$rs2 = mysql_query($sql2,$conn);
echo "$pathname<br>";
}
}
這顯示的是我的目錄結構和插入的目錄和文件名到數據庫中(除去前兩個字符..
)。
由於RecursiveDirectoryIterator
遍歷所有目錄中的所有文件,我怎樣才能排除整個目錄,包括其中的所有文件?
'if($ pathname == $ dontWant)continue;'或者使用'FilterIterator'。還有很多其他的可能性。 – deceze
我想排除目錄中的所有文件,而不僅僅是選擇文件 – charlie
那麼,這與您在問題中所說的相反。但是請檢查'$ fileinfo-> isDir()'/'isFile()',而不是你已經在做的事情。我不確定這裏真正的問題是什麼。 – deceze