我使用這個代碼來獲得一個劇目的每一個文件夾/子文件夾的列表:上市與RecursiveDirectoryIterator
$path = realpath($userdir);
foreach (new RecursiveIteratorIterator(new RecursiveDirectoryIterator($path)) as $filename)
{
echo "$filename\n";
}
但是它會顯示這樣的事情,至極添加點或雙點和顯示文件夾兩次:
C:\ wamp \ www \ gg \ ftp \ repository \ user \ mister。
C:\瓦帕\ WWW \ GG \ ftp的\庫\用戶\ ..先生
C:\瓦帕\ WWW \ GG \ ftp的\庫\用戶\先生\ apatik。
C:\瓦帕\ WWW \ GG \ ftp的\庫\用戶\先生\ apatik ..
C:\瓦帕\ WWW \ GG \ ftp的\庫\用戶\先生\ vvxcv。
C:\瓦帕\ WWW \ GG \ ftp的\庫\用戶\先生\ vvxcv ..
C:\瓦帕\ WWW \ GG \ ftp的\庫\用戶\先生\ vvxcv \ vcxvcx。
C:\ WAMP \ WWW \ GG \ FTP \庫\用戶\老總\ vvxcv \ vcxvcx ..
,而不是其他清潔劑這樣的:
C:\ WAMP \ WWW \ GG \ ftp的\庫\用戶\先生
C:\瓦帕\ WWW \ GG \ ftp的\庫\用戶\先生\ apatik
C:\瓦帕\ WWW \ GG \ ftp的\庫\ user \ mister \ vvxcv
C:\ WAMP \ WWW \ GG \ FTP \庫\用戶\老總\ vvxcv \ vcxvcx
有沒有辦法?我以前使用glob的功能
glob($sub . '/*' , GLOB_ONLYDIR);
這是正確顯示文件夾,但我無法得到它是遞歸到藏漢顯示子文件夾。
感謝
我相信'.'和'..'實際上被認爲是目錄,父目錄。從遞歸函數中刪除名爲'.'和'..'的目錄 –
是的,這也是我的想法,但在我的文件夾中沒有這樣的目錄,glob函數沒有顯示它們:/ – apatik
在linux中,它們是在那裏肯定和在一個Windows命令外殼,你可以通過執行一個'CD ..'到父目錄! –