热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

php如何遍历文件到一个数组中去?

php如何遍历文件到一个数组中去?请看下图描述:
php 如何遍历文件到一个数组中去?
请看下图描述:

11 个解决方案

#1


class FileExtensionFinder extends FilterIterator {
protected $predicate, $path;

public function __construct($path, $predicate) {
$this->predicate = $predicate;
$this->path = $path;
$it = new RecursiveDirectoryIterator ( $path );
$flatIterator = new RecursiveIteratorIterator ( $it );
parent::__construct ( $flatIterator );
}
public function accept() {
$pathinfo = pathinfo ( $this->current () );
$extension = $pathinfo ['extension'];
return ($extension == $this->predicate);
}
}

$it = new FileExtensionFinder ( '.', 'css' );
print_r ( iterator_to_array ( $it, FALSE ) );

#2


学习了楼上的写法.

#3



class FileExtensionFinder extends FilterIterator {
protected $predicate, $path;

public function __construct($path, $predicate) {
$this->predicate = $predicate;
$this->path = $path;
$it = new RecursiveDirectoryIterator ( $path );
$flatIterator = new RecursiveIteratorIterator ( $it );
parent::__construct ( $flatIterator );
}
public function accept() {
$pathinfo = pathinfo ( $this->current () );
$extension = $pathinfo ['extension'];
return ($extension == $this->predicate);
}
}

$it = new FileExtensionFinder ( '.', 'css' );
print_r ( iterator_to_array ( $it, FALSE ) );
?>

#4


人家给你思路了,代码自己去调试吧

#5


$dir = "./";
if(!is_dir($dir)){
  mkdir($dir); //创建新文件夹
}
 
 @$dirs=opendir($dir);
 while (false !== ($file = readdir($dirs))) { //遍历该php文件所在目录
      list($filesname,$kzm)=explode(".",$file);//获取扩展名
    
          if (!is_dir($dir.'/'.$file)) { //文件夹过滤
            $array[]=$file;//把符合条件的文件名存入数

  //echo $file;
$datetime[]=date("Y-n-d H:i:s",filectime("$dir/$file"));//把符合条件的文件名存入数组
            $i++;//记录文件总张数
           }
         
    }

你想要遍历某一种类型的文件的话,修改一下就可以了。!~代码测试过的。

#6


谢谢,其实有了最简单的答案了:
$css_files_array=glob(
'{
**/*.CSS,
**/**/*.CSS,
**/**/**/*.CSS
}',
GLOB_BRACE
);

http://bbs.phpchina.com/thread-171061-2-1.html

#7


递归 GOOGLE搜索 遍历目录

#8


function find($path='.') {
  $r = array();
  foreach(glob("$path/*") as $f) {
    if(is_dir($f)) $r = array_merge($r, find($f));
    else $r[] = $f;
  }
  return $r;
}
function foo($a) {
  return strtolower(substr($a, -3)) == 'css';
}
print_r(array_filter(find('modcss'), 'foo'));

#9


foreach ( $it as $entry ) {
echo $entry . PHP_EOL;
}
这样就可以输出结果了,东西全存在$it里。

#10


glob这个方法不错,呵呵

#11


LZ图片处理的功能很不错,你用PHP先打开文件夹,然后遍历文件。
网上有PHP扫描目录的函数,你可以自己找一下。

推荐阅读
author-avatar
手机用户2602889207
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有