当前位置:首页>开发>正文

PHP列出目录中的目录和文件的几种方法 列出指定目录下所有文件的PHP代码

2024-01-10 21:45:46 互联网 未知 开发

 PHP列出目录中的目录和文件的几种方法 列出指定目录下所有文件的PHP代码

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代码?

function get_files($dir){ $files = array() if(is_dir($dir)){ if($dh = opendir($dir)){ while (($file = readdir($dh)) !== false) { if(!($file == . || $file == ..)){ $file = $dir./.$file if(is_dir($file) && $file != ./. && $file != ./..){ $files = array_merge($files, get_files($file)) } else if(is_file($file)){ $fullpath = $_SERVER[HTTP_REFERER] $fullpath = str_replace(basename($fullpath),"",$fullpath) $fullpath .= substr($file,2) $files[] = $fullpath } } } } } return $files}使用体例$path = ../bakforeach(get_files($path) as $allfile){ echo $allfile.}

PHP 列出当前目录下所有文件(自身别列出来)


$d=dir(".")
echo $d->path.$e
while(false !== ($e= $d->read())) {
echo "$e"."
"
}
$d->close()
?>

PHP列出目录文件生成数组或者JSON

$file_arr = array()//保存文件名
$dir = dir("a1")//目录
while( $file = $dir->read() ){//循环目录
if($file !=".." && $file !="."){//判断不为返回上级
  $file_arr[] = $file
}
}
//数组
print_r($file_arr)
//json
echo " ".json_encode($file_arr)
?>

php 获取目录下的所有文件夹名称

大致思路:
function traverseDir($dir){
if($dir_handle = @opendir($dir)){
while($filename = readdir($dir_handle)){
if($filename != "." && $filename != ".."){
$subFile = $dir.DIRECTORY_SEPARATOR.$filename //要将源目录及子文件相连
if(is_dir($subFile)){ //若子文件是个目录
echo $filename.
//输出该目录名称
traverseDir($subFile) //递归找出下级目录名称
}
}
}
closedir($dir_handle)
}
}
$dirNames = traverseDir("d:/dos") //测试某目录
?>

php中怎么从路径中取出文件名

1、basename("/mnt/img/image01.jpg")函数:得到文件名输出结果为:image01.jpg.
  使用 basename($uriString) 我们可以得到一个包含扩展名的文件名;
  如果不需要扩展名,也可以使用 basename($uriString, $extString) 过滤扩展名,仅仅返回文件名。
  2、echo __FILE__得到当前请求文件的完整路径,输出格式如:/mnt/hgfs/ictsapce/test/index.php
  3、dirname() 函数返回路径中的目录部分。
  如:
  echo dirname("/testweb/home.php")
  输出:/testweb

为什么php不能列出ftp里的目录

如果你确定用户密码地址都没错的话,确定PHP有开启ftp扩展
================
你是怎么用的,这样试一下


// set up basic connection
$conn_id = ftp_connect($ftp_server)

// login with username and password
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass)

// get the file list for /
$buff = ftp_rawlist($conn_id, /)

// close the connection
ftp_close($conn_id)

// output the buffer
var_dump($buff)
?>