php遍历文件实现代码
复制代码代码如下所示:函数文件($路径)
{
foreach(scandir($路径)达线)
{
如果(合线= ='。| |线= =..美元)继续;
If (is_dir ($path.'/'.$line)) Files ($path.'/'.$line);
否则返回$;
}
}
PHP遍历文件和文件夹
添加了文件夹C: Windows apppatch
1。首先获取这个文件夹下的所有内容,即文件、文件夹、数组中的文件夹。
filearr美元=阵列(
文件=数组(),一个文件数组
目录= >数组(数组), / /文件夹
)
2。如果有子文件夹,遍历子文件夹,把文件夹和文件,并把它放在数组中,如此循环,一个不漏。
复制代码代码如下所示:
< PHP
$dir = f:游戏;
功能read_dir_all($dir){
ret =阵列('dirs美元= >阵列(),'files= >阵列());
如果($处理= opendir($dir)){
(假)!= =($文件= readdir($处理))){
如果($文件)!=$文件!..)
cur_path美元= $dir。directory_separator。文件;
如果(is_dir($ cur_path)){
{ } { 'dirs RET美元的美元cur_path } = read_dir_all($ cur_path);
{人}
美元的} { } { 'files ret = $ cur_path;
}
}
}
closedir($处理);
}
返回$;
}
P = read_dir_all($dir);
回声';
var_dump(P);
回声';
>
PHP遍历文件夹下的所有目录和文件。
我们经常遇到这样的问题在面试的过程中:PHP遍历所有的文件和子文件夹的文件夹中。
解决这个问题的方法有很多,但总的思路是一样的。
复制代码代码如下所示:
$路径= /文件路径;
函数GetFiles($路径)
{
如果(!is_dir(美元)返回路径);
为处理= opendir($路径);
(假)!= =($文件= readdir($处理)))
{
如果($文件)!= $文件!=…
{
2美元= $路径。' / ' $文件;
如果(is_dir($ 2))
{
回波;
回波文件;
GetFiles($ 2);
}其他
{
回波;
回波文件;
}
}
}
}
print_r(GetFiles($路径));
回声';
功能getdir($路径)
{
如果(!is_dir(美元)返回路径);
美元=目录(路径);
当($)
{
如果(文件$ ==!!)
{
2美元= $路径。' / ' $文件;
如果(is_dir($ 2))
{
回波文件。;
getdir($ 2);
}其他
{
$文件;
}
}
}
}
getdir($路径);
回声';
功能get_dir_scandir($路径){
树=数组();
foreach(scandir($路径)为单){
如果$($ = =!!)
{
2美元= $路径。' / '。$单;
如果(is_dir($ 2))
{
回声单。 ;
get_dir_scandir($ 2);
}其他
{
回声单。 ;
}
}
}
}
get_dir_scandir($路径);
回波
';
功能get_dir_glob(){
树=数组();
foreach(glob('。 / / *卷)为单){
回声单。 ;
}
}
get_dir_glob();
回波
';
功能myscandir($路径)
{
如果(!is_dir(美元)返回路径);
foreach(scandir美元($路径)文件)
{
如果(文件$ ==!!)
{
2美元= $路径。' / ' $文件;
如果(is_dir($ 2))
{
回波文件;
myscandir($ 2);
}其他
{
$文件;
}
}
}
}
myscandir($路径);
回声';
功能myglob($路径)
{
path_pattern美元= $路径。' / *;
foreach(glob($ path_pattern)作为文件)
{
如果(is_dir(文件))
{
回波文件;
myscandir(文件);
}其他
{
$文件;
}
}
}
myglob($路径);