php 遍历目录文件或文件夹的方法
2017-05-16 23:09:40
•
阅读
打赏
本文主要介绍了使用php写一个遍历指定文件夹下所有文件和文件夹的方法,欢迎大家的学习。
我们在写程序的时候经常会遇到,遍历目录或遍历目录下指定类型的文件。
PHP本身提供了很多有用的函数,正确地使用它们,就会写出不错的程序。
使用scandir函数
//列出指定目录下所有的文件,使用递归
function getAll($path){
foreach(scandir($path) as $va)
{
if($va=='.'||$va=='..') continue;
if(is_dir($path.'/'.$va))
{
getAll($path.'/'.$va);
} else {
echo $path.'/'.$va.'<br />';
}
}
}
//列出当前目录下所有的文件
getAll(__DIR__);
scandir:返回指定目录下所有的文件和目录组成的数组
使用glob函数
glob()函数有2个参数,第2个参数可选的,glob()返回的内容中已经过滤掉了'.'和'..',其中*表示遍历目录下所有文件。
相应的,如果改为*.php,则会遍历目录下所的php文件
/**
* 获取指定目录所有文件
*/
function get_all_files($path)
{
$list = array();
foreach (glob($path . '/*') as $item) {
if (is_dir($item)) {
$list = array_merge($list, get_all_files($item));
} else {
$list[] = $item;
}
}
return $list;
}
print_r(get_all_files(__DIR__));
/**
* 获取指定目录所有文件,返回一层目录文件
*/
function get_my_files($path)
{
$list = array();
foreach (glob($path . '/*') as $item) {
if (is_dir($item)) {
$list[] = $item;
}
}
return $list;
}
print_r(get_my_files(__DIR__));
/**
* 获取指定目录所有文件,带有文件创建时间
*/
function get_all_files_time($path)
{
clearstatcache();
$list = array();
foreach (glob($path . '/*') as $item) {
if (is_dir($item)) {
$list = array_merge($list, get_all_files_time($item));
} else {
$list[$item] = date("Y-m-d H:i:s", fileatime($item));
//fileatime 访问时间 filemtime 修改时间
}
}
return $list;
}
print_r(get_all_files_time(__DIR__));
以上就是使用php写一个能遍历指定文件夹下所有文件和文件夹的方法的全部内容,希望大家有所学习收获。
相关推荐
深度学习 -- 损失函数
深度残差网络(Deep Residual Networks (ResNets))
深度学习 -- 激活函数
神经网络训练 -- 调整学习速率
生成对抗网络(GAN)改进与发展
生成对抗网络(GAN)优点与缺点
生成对抗网络(GAN)的训练
生成对抗网络(GAN)基本原理
生成模型与判别模型