今天遇到了php操作文件的功能,以前就写过一个php操作文件目录的,今天总结两个,通过遍历目录,我们就可以操作里面的文件。当然也可以从这个基础上加一下其他的功能!还有一个降维多级目录的函数,即将多维数组降维成一维数组。
第一种方法:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
<?php function myscandir($pathname){ foreach( glob($pathname) as $filename ){ if(is_dir($filename)){ myscandir($filename.'/*'); }else{ echo $filename.'<br/>'; } } } myscandir('content/*'); ?> |
第二种方法:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
<?php function myscandir($path){ $mydir=dir($path); while($file=$mydir->read()){ $p=$path.'/'.$file; if(($file!=".") AND ($file!="..")){ echo $p.'<br>'; } if((is_dir($p)) AND ($file!=".") AND ($file!="..")){ myscandir($p); } } } myscandir('content'); ?> |
第三种,将目录文件付给数组
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
function listDirTree($dirName=null) { if(empty($dirName))exit("IBFileSystem:directoryisempty."); if(is_dir($dirName)) { if($dh=opendir($dirName)) { $tree=array(); while(($file=readdir($dh))!==false) { if($file!="."&&$file!="..") { $filePath=$dirName."/".$file; if(is_dir($filePath)) { $tree[$file]=listDirTree($filePath); } else { $tree[]=$file; } } } closedir($dh); } else { exit("IBFileSystem:cannotopendirectory$dirName."); } return$tree; } else { exit("IBFileSystem:$dirNameisnotadirectory."); } } |
数组降维:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
<?php function array_multi2single($array=null) { static $result_array=array(); foreach($array as $value) { if(is_array($value)) { array_multi2single($value); } else $result_array[]=$value; } return $result_array; } ?> |
本文链接: http://www.521php.com/archives/1033/
程序本天成,妙手偶得之!我们只是代码的搬运工!
转载请注明:http://www.521php.com/archives/1033/
2013年01月15日 上午 11:33 三五笑话 | 引用 | #1
新年马上到了,提前祝新年快乐,博客越办越好!