php 如何遍历文件到一个数组中去? php 如何遍历文件到一个数组中去?请看下图描述: 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 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 ) ); <?phpclass 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 ) );?> $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++;//记录文件总张数 } }你想要遍历某一种类型的文件的话,修改一下就可以了。!~代码测试过的。 谢谢,其实有了最简单的答案了:$css_files_array=glob( '{ **/*.CSS, **/**/*.CSS, **/**/**/*.CSS }', GLOB_BRACE);http://bbs.phpchina.com/thread-171061-2-1.html 递归 GOOGLE搜索 遍历目录 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')); foreach ( $it as $entry ) { echo $entry . PHP_EOL;}这样就可以输出结果了,东西全存在$it里。 LZ图片处理的功能很不错,你用PHP先打开文件夹,然后遍历文件。网上有PHP扫描目录的函数,你可以自己找一下。 PHP文件foreach赋值问题 dw5写的php代码,在网页上中文是显示乱码 高分问一个ajax+php的问题? 大家搭建的开发环境都在win下还是unix/linux下? 请教loop里如何单独定义某条数据的样式 谁知道discuz4.00R3论坛的Cookie是如何实现的? 这4分钟哪来的? 如何用PHP上传图片?小弟初学,请各位大哥帮忙 哪位有这本书? 谁有php的gif_dll,能给我发一个吗? 多谢了 email: [email protected] 问个关于&&的问题 读取CSV文件后存入数据库,会多出很多条空记录
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 ) );
<?php
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 ) );
?>
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++;//记录文件总张数
}
}
你想要遍历某一种类型的文件的话,修改一下就可以了。!~代码测试过的。
$css_files_array=glob(
'{
**/*.CSS,
**/**/*.CSS,
**/**/**/*.CSS
}',
GLOB_BRACE
);
http://bbs.phpchina.com/thread-171061-2-1.html
$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'));
echo $entry . PHP_EOL;
}
这样就可以输出结果了,东西全存在$it里。
网上有PHP扫描目录的函数,你可以自己找一下。