PHP 遍历文件实现代码
作者:bea
代码如下: function Files($path) { foreach(scandir($path) as $line) { if($line=='.'||$line=='..') continue; if(is_dir($path.'/'.$line)) Files($path.'/'.$line); else echo '<li>'.$path.'/'.$line.'</li>'; } } PHP遍历文件及文件夹 加入给
代码如下:
function Files($path)
{
foreach(scandir($path) as $line)
{
if($line=='.'||$line=='..') continue;
if(is_dir($path.'/'.$line)) Files($path.'/'.$line);
else echo '<li>'.$path.'/'.$line.'</li>';
}
}
PHP遍历文件及文件夹 加入给定文件夹 C:\Windows\AppPatch
1.首先获取这个文件夹下面的所有东西,也就是文件,文件夹,放一个数组里面
$fileArr = array(
'files' => array(), //文件放一个数组
'dirs' => array(), //文件夹放一个数组
)
2.如果存在子文件夹,遍历子文件夹,获取文件夹和文件,同样放进那个数组,如此循环,一个不漏
代码如下:
<?php
$dir = 'F:\game';
function read_dir_all($dir) {
$ret = array('dirs'=>array(), 'files'=>array());
if ($handle = opendir($dir)) {
while (false !== ($file = readdir($handle))) {
if($file != '.' && $file !== '..') {
$cur_path = $dir . DIRECTORY_SEPARATOR . $file;
if(is_dir($cur_path)) {
$ret['dirs'][$cur_path] = read_dir_all($cur_path);
} else {
$ret['files'][] = $cur_path;
}
}
}
closedir($handle);
}
return $ret;
}
$p = read_dir_all($dir);
echo '<pre>';
var_dump($p);
echo '</pre>';
?>
php遍历一个文件夹下的所有目录及文件
在面试中我们经常遇到这个题目:php遍历一个文件夹下的所有文件和子文件夹。
这个题目有好多种解决方法。但大致思路都一样。采用递归。
代码如下:
$path = './filepath';
function getfiles($path)
{
if(!is_dir($path)) return;
$handle = opendir($path);
while( false !== ($file = readdir($handle)))
{
if($file != '.' && $file!='..')
{
$path2= $path.'/'.$file;
if(is_dir($path2))
{
echo ' ';
echo $file;
getfiles($path2);
}else
{
echo ' ';
echo $file;
}
}
}
}
print_r( getfiles($path));
echo '<HR>';
function getdir($path)
{
if(!is_dir($path)) return;
$handle = dir($path);
while($file=$handle->read())
{
if($file!='.' && $file!='..')
{
$path2 = $path.'/'.$file;
if(is_dir($path2))
{
echo $file." ";
getdir($path2);
}else
{
echo $file.' ';
}
}
}
}
getdir($path);
echo '<HR>';
function get_dir_scandir($path){
$tree = array();
foreach(scandir($path) as $single){
if($single!='.' && $single!='..')
{
$path2 = $path.'/'.$single;
if(is_dir($path2))
{
echo $single."
";
get_dir_scandir($path2);
}else
{
echo $single."
";
}
}
}
}
get_dir_scandir($path);
echo '
<HR>';
function get_dir_glob(){
$tree = array();
foreach(glob('./curl/*') as $single){
echo $single."
";
}
}
get_dir_glob();
echo '
<HR>';
function myscandir($path)
{
if(!is_dir($path)) return;
foreach(scandir($path) as $file)
{
if($file!='.' && $file!='..')
{
$path2= $path.'/'.$file;
if(is_dir($path2))
{
echo $file;
myscandir($path2);
}else
{
echo $file.' ';
}
}
}
}
myscandir($path);
echo '<HR>';
function myglob($path)
{
$path_pattern = $path.'/*';
foreach(glob($path_pattern) as $file)
{
if(is_dir($file))
{
echo $file;
myscandir($file);
}else
{
echo $file.' ';
}
}
}
myglob($path);
有用 | 无用
猜你喜欢
您可能感兴趣的文章:
- PHP 计算代码执行耗时的代码修正网上普遍错误
- PHP与C#分别格式化文件大小的代码
- PHP读取ACCESS数据到MYSQL的代码
- php 数组的一个悲剧?
- php 归并排序 数组交集
- php 冒泡排序 交换排序法
- 谷歌音乐搜索栏的提示功能php修正代码
- php 随机排序广告的实现代码
- php中强制下载文件的代码(解决了IE下中文文件名乱码问题)
- PHP新手入门学习方法
- php在多维数组中根据键名快速查询其父键以及父键值的代码
- php 大数据量及海量数据处理算法总结
- php 截取字符串并以零补齐str_pad() 函数
- php调用mysql数据 dbclass类
- 用PHP的超级变量$_POST获取HTML表单(HTML Form) 数据
- 用PHP的超级变量$_GET获取HTML表单(Form) 数据
- php数据库抽象层 PDO
- php cookies中删除的一般赋值方法
- php中通过Ajax如何实现异步文件上传的代码实例