
、文件夹完整路径
ls
-1
|awk
i$0}'
i=`pwd`'/'
(注意:这里
ls
后面那是个数字
1
而不是字母
l)2、列出当前目录及子目录
的文件、文件夹完整路径
ls
-r
|awk
i$0}'
i=`pwd`'/'
2b)
列出当前目录及子目录下的文件夹完整路径
ls
-fr
|
grep
/$
|
sed
"s:^:`pwd`/:"
3、用find实现,好像运行要慢些
find
/
-name
"*.*"
-exec
ls
{}
\
4、递归列出当前目录及子目录名称
ls
-fr
|
grep
/$
5、递归列出当前目录及子目录名称,包括相关属性
ls
-lr
|
grep
"^d"
#
drwxr-xr-x
3
idea
idea
4096
aug
2
2009
images
6、只列出当前目录下的子目录
用ls只列出子目录
ls
-d
*/<?php
/**
* PHP中列出目录中的目录和文件的几种方法
*/
//兼容PHP4和PHP5的写法
function getFileList($directory) {
$files = array()
if(is_dir($directory)) {
if($dh = opendir($directory)) {
while(($file = readdir($dh)) !== false) {
if($file != '.' && $file != '..') {
$files[] = $file
}
}
closedir($dh)
}
}
return $files
}
//PHP5中的简单方法
function getFileList2($directory) {
$files = array()
if(is_dir($directory)) {
if($files = scandir($directory)) {
$files = array_slice($files,2)
}
}
return $files
}
//使用PHP5面向对象的写法
function getFileList3($directory) {
$files = array()
try {
$dir = new DirectoryIterator($directory)
} catch (Exception $e) {
throw new Exception($directory . ' is not readable')
}
foreach($dir as $file) {
if($file->isDot()) continue
$files[] = $file->getFileName()
}
return $files
}
//测试代码
$dir = dirname(__FILE__)
var_dump(getFileList($dir))
?><?php
/**
* Goofy 2011-11-30
* getDir()去文件夹列表,getFile()去对应文件夹下面的文件列表,二者的区别在于判断有没有“.”后缀的文件,其他都一样
*/
//获取文件目录列表,该方法返回数组
function getDir($dir) {
$dirArray[]=NULL
if (false != ($handle = opendir ( $dir ))) {
$i=0
while ( false !== ($file = readdir ( $handle )) ) {
//去掉"“.”、“..”以及带“.xxx”后缀的文件
if ($file != "." && $file != ".."&&!strpos($file,".")) {
$dirArray[$i]=$file
$i++
}
}
//关闭句柄
closedir ( $handle )
}
return $dirArray
}
//获取文件列表
function getFile($dir) {
$fileArray[]=NULL
if (false != ($handle = opendir ( $dir ))) {
$i=0
while ( false !== ($file = readdir ( $handle )) ) {
//去掉"“.”、“..”以及带“.xxx”后缀的文件
if ($file != "." && $file != ".."&&strpos($file,".")) {
$fileArray[$i]="./imageroot/current/".$file
if($i==100){
break
}
$i++
}
}
//关闭句柄
closedir ( $handle )
}
return $fileArray
}
//调用方法getDir("./dir")……
?>


评论列表(0条)