PHP遍历文件夹
来源:互联网 发布:查看端口有没有被占用 编辑:程序博客网 时间:2024/06/16 01:59
首先,PHP需要先支持使用 iconv函数(在php.ini文件中有配置 iconv 的地方)
以下几种遍历,返回值得形式有所不同:
<?php
//队列方式遍历文件夹(结果为一维数组,值既有文件,又有子文件夹)
function read_dir_queue($dir){
$dir=iconv("utf-8","gb2312",$dir);
$files=array();
$queue=array($dir);
while($data=each($queue)){
$path=$data['value'];
if(is_dir($path) && $handle=opendir($path)){
while($file=readdir($handle)){
if($file=='.'||$file=='..') continue;
$files[] = $real_path=$path.'/'.$file;
if (is_dir($real_path)) $queue[] = $real_path;
}
}
closedir($handle);
}
$arr=array();
foreach($files as $v){
$a=iconv("gb2312","utf-8",$v);
$arr[]=$a;
}
return $arr;
}
//只保留file的队列数组,不包括子文件夹
function read_dir_files($dir){
$dir=iconv("utf-8","gb2312",$dir);
$files=array();
$queue=array($dir);
$files2=array();
while($data=each($queue)){
$path=$data['value'];
if(is_dir($path) && $handle=opendir($path)){
while($file=readdir($handle)){
if($file=='.'||$file=='..') continue;
$files[] = $real_path=$path.'/'.$file;
if (is_dir($real_path)) $queue[] = $real_path;
}
}
closedir($handle);
}
foreach($files as $v){
if(is_dir($v)){
continue;
}else{
$files2[]=$v;
}
}
$arr=array();
foreach($files2 as $v){
$a=iconv("gb2312","utf-8",$v);
$arr[]=$a;
}
return $arr;
}
//返回结果为数组,值为文件名(不包括文件的目录、子文件夹)
function read_dir_files1($dir){
$dir=iconv("utf-8","gb2312",$dir);
$files=array();
$queue=array($dir);
$files2=array();
while($data=each($queue)){
$path=$data['value'];
if(is_dir($path) && $handle=opendir($path)){
while($file=readdir($handle)){
if($file=='.'||$file=='..') continue;
$files[] = $real_path=$path.'/'.$file;
if (is_dir($real_path)) $queue[] = $real_path;
}
}
closedir($handle);
}
foreach($files as $v){
if(!is_dir($v)){
$a=explode("/",$v);
$s=end($a);
$files2[]=$s;
}
}
$arr=array();
foreach($files2 as $v){
$b=iconv("gb2312","utf-8",$v);
$arr[]=$b;
}
return $arr;
}
由于windows7文件命名编码为 gb2312,PHP网页编码为UTF-8,所以需要转换:
$dir=iconv("utf-8","gb2312",$dir);
返回的结果由于是数组,要对数组中的元素逐个转换。
$arr=array();
foreach($files2 as $v){
$b=iconv("gb2312","utf-8",$v);
$arr[]=$b;
}
- php遍历文件夹
- 用PHP遍历文件夹
- PHP遍历文件夹
- php递归遍历文件夹
- PHP遍历文件夹
- php遍历文件夹
- PHP遍历文件夹内容
- PHP遍历文件夹目录
- php遍历文件夹
- PHP遍历文件夹
- php遍历文件夹、文件
- PHP遍历文件夹
- PHP遍历文件夹下文件
- PHP遍历文件和文件夹
- PHP遍历文件夹的方法
- php遍历一个指定文件夹
- php遍历文件和文件夹
- php遍历文件夹,查找文件
- 深入理解JVM
- Fragment基础
- 默认参数和扩展函数(一)
- LeetCode OJ 476 Number Complement [Easy]
- Jedis操作Redis技巧详解
- PHP遍历文件夹
- unity5.3+Easytouch4.3——EasyTouch及摇杆控件介绍
- 2016-6-7
- 操作系统刷题(八)
- 汇编语言: 判断素数
- NYOJ 71 独木舟上的旅行
- 多线程编程之基础概念
- 汇编语言: 用减奇数次数的方法,求一个数的近似平方根,这个平方根是一个整数。
- POJ 1934 Trip 笔记