我使用这个代码来获得一个剧目的每一个文件夹/子文件夹的列表:上市与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 ..'到父目录! –