导航:首页 > 编程语言 > php获取目录所有文件名

php获取目录所有文件名

发布时间:2024-04-09 05:07:53

php获取文件夹下所有文件名

function dir_file_handle($dir,$dir_handle,$file_handle,&$array=NULL) {
$array = array();
function circle($dir,$dir_handle,$file_handle,&$array){
$handle=opendir($dir);
while(($file=readdir($handle))!==false){
if($file!="." && $file!=".."){
if(is_dir("$dir/$file")){
//文件夹操作
eval($dir_handle);
circle("$dir/$file",$dir_handle,$file_handle,&$array);
}else{
//文件操作
eval($file_handle);
}
}
}
}
@circle($dir,$dir_handle,$file_handle,$array);
}
function list_dir_file($array) {
$indent = 0;
static $preindent = 0;
while (list($key,$value) = each($array)) {
$indent = count(explode('/', $key));
if ($indent == 1) {
$indent = $preindent;
}else {
$preindent = $indent;
}
$dirname = substr(strrchr($key, '/'), 1);
if (is_array($value)) {
echo str_repeat("", $indent)."|-$dirname<br>";
list_dir_file($value);
}else {
echo str_repeat("", $indent*2)."$value<br>";
}
}
}

dir_file_handle(
'./01',
'
if(is_null($array["$dir"])) {
$array["$dir"] = array();
}
if(is_null($array["$dir/$file"])) {
$array["$dir/$file"] = array();
}
',
'array_push($array["$dir"],$file);',
$array
);
list_dir_file($array);

Ⅱ PHP如何获取文件夹下所以子文件夹的名称及子夹所以图片

先写个函数来遍历文件夹下的所有子文件:
function my_scandir($dir)
{
$files = array();
if ( $handle = opendir($dir) ) {
while ( ($file = readdir($handle)) !== false ) {
if ( $file != ".." && $file != "." ) {
if ( is_dir($dir . "/" . $file) ) {
$files[$file] = scandir($dir . "/" . $file);
}else {
$files[] = $file;
}
}
}
closedir($handle);
return $files;
}
}

若你想看图片什么的,可以给已遍历出来的文件名加个链接,链接地址要正确哦!这样当你点击后就可以显示了,具体你可以自己实现一下

Ⅲ php列出目录所有文件名

php.ini
<?php
/*
Start Web Settings.
*/
define("TITLE","网站标题");
//Another method to define a constant.
//const TITLE = "网站标题";
//Start Web Settings End.
/*
Start MySQL Settings.
*/
$MySQL_HOST = "localhost";
$MySQL_PORT = "3306";
$MySQL_USER = "root";
$MySQL_PASSWORD = "";
$MySQL_DBNAME = "test";
//$MySQL = new pdo("mysql:dbname=".$MySQL_DBNAME.";host=".$MySQL_HOST,$MySQL_USER,$MySQL_PASSWORD);
//Start MySQL Settings End.
/*
Start Classes Settings.
*/
class Show_Files {
//获取绝对路径,未完善
function tr_directory($path_ = "/",$pre_path = "") {
if(strlen($pre_path) == 0){
$pre_path = getcwd();
}
if(is_dir($pre_path)){
if(is_dir($path_)){
$path = $path_;
}
else{
$path = $path_;
}
}
return $pre_path.$path_;
closedir($handle);
}
//获取路径中的所有文件名称,可排除部分类型的文件
function get_files($path = "./",$nofile = array()){
$source = scandir($path);
$files = array();
$out_ = array();
foreach($source as $file){
if(is_file($file)){
$files[] .= $file;
}
}
$out_ = preg_replace($nofile,"",$files);
$out = array();
foreach($out_ as $out_tmp){
if(strlen($out_tmp)>0){
$out[] .= $out_tmp;
}
}
return $out;
closedir($handle);
}
//获取路径中的所有目录名称
function get_dirs($path = "./",$nodir = array()){
$source = scandir($path);
$dirs = array();
foreach($source as $dir){
if(is_dir($dir)){
if(count($nodir) > 0){
foreach($nodir as $no_dir){
if(!preg_match($no_dir,$dir)){
$dirs[] .= $dir;
}
}
}
else{
$dirs[] .= $dir;
}
}
}
$dirs = preg_replace($nodir,"",$dirs);
$dirs_out = array();
foreach($dirs as $dir_tmp){
if(strlen($dir_tmp)>0){
$dirs_out[] .= $dir_tmp;
}
}
return $dirs_out;
closedir($handle);
}
function get_alias($files=array("/etc/apache2/apache2.conf","/etc/apache2/httpd.conf","/etc/apache2/sites-enabled/000-default","/etc/apache2/sites-enabled/000-default")){
$alias = array('name'=>array(),'dir'=>array(),'file'=>array());
foreach($files as $alias_file){
$res = shell_exec("cat ".$alias_file." | grep Alias");
$res = explode("\n",$res);
//去掉行首空白和tab符
foreach($res as $res){
if(strlen($res)>0){
$res = trim($res);
$res = explode(" ",$res);
$alias['file'][] .= $alias_file;
$alias['name'][] .= $res[1];
$alias['dir'][] .= $res[2];
}
}
}
return $alias;
}
}
//Start Classes Settings End.
?>
index.php
<?php
include_once("./ini.php");
?>
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html lang="en" xml:lang="en">
<head>
<title><?php echo TITLE." - 首页"; ?></title>
<meta http-equiv="Content-Type" content="txt/html; charset=utf-8" />
<style type="text/css">
html{
background: #ddd;
}
body {
margin: 1em 10%;
padding: 1em 3em;
font: 80%/1.4 tahoma, arial, helvetica, lucida sans, sans-serif;
border: 1px solid #999;
background: #eee;
position: relative;
}
h2 {
margin: 0.8em 0 0 0;
}
</style>
<link rel="shortcut icon" href="index.php?img=favicon" type="./image/ico" />
</head>
<body>
<?php

?>
<div>
<h2 align="center">站点导航</h2>
</div>
<div>
<?php
$f = new Show_Files;
//列出可访问目录及该目录下一级目录和文件
$dir = $f -> tr_directory("/");
echo "<pre>";
$dirs = $f -> get_dirs($dir,array("/^\./"));
echo "<p><span style=\"font-size:14px;font-weight:bold\">目录</span>(已略去隐藏目录)</p>";
foreach($dirs as $dirs){
echo "<p><a href=\"".$dirs."\">".$dirs."</a></p>";
}
//列出Alias配置的列表
echo "<p><span style=\"font-size:14px;font-weight:bold\">Alias</span></p>";
$alias_file = array("/etc/apache2/apache2.conf","/etc/apache2/httpd.conf","/etc/apache2/sites-enabled/000-default");
$alias = $f -> get_alias($alias_file);
foreach($alias['name'] as $alia){
echo "<a href=\"".$alia."\">".$alia."</a>\n";
}
//列出可访问文件
echo "<p><span style=\"font-size:14px;font-weight:bold\">文件</span>(已略去隐藏文件、备份文件、配置文件)</p>";
$files = $f -> get_files($dir,array("/(.*)\.bak$/","/(.*)\~$/","/(.*)ini.php$/","/^\.(.*)/"));
foreach($files as $files){
echo "<a href=\"".$files."\">".$files."</a>\n";
}
echo "</pre>";
?>
</div>
</body>
</html>

自己写的提供出来看看,感兴趣的朋友可以一起讨论:[email protected]

Ⅳ php列出目录下所有文件(包括子目录)

<?php

/**
*Goofy2011-11-30
*getDir()去文件夹列表,getFile()去对应文件夹下面的文件列表,二者的区别在于判断有没有“.”后缀的文件,其他都一样
*/

//获取文件目录列表,该方法返回数组
functiongetDir($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;
}

//获取文件列表
functiongetFile($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")……
?>

Ⅳ PHP 如何 得到文件名(不要后缀名)

方法如下:

$dh = opendir($dirname);

$n = 0;

while ($file=readdir($dh)){

// $file为目录下所有文件和文件夹,

// 需要注意默认有 .(本目录)和..(上级目录)这两个特殊文件夹

if (is_file($file)){

//只处理文件

if (!strpos($file,'.')){

// 无后缀名的文件

}

$n++; // 计数

}

}

Ⅵ PHP如何获取文件夹的文件名称

当前目录的路径?

__DIR__或dirname(__FILE__)

preg_match('#([^/]+)$#',str_replace('\','/',__DIR__),$match);

var_mp($match[1]);

阅读全文

与php获取目录所有文件名相关的资料

热点内容
绍兴程序员接私活攻略 浏览:640
java获取上传图片 浏览:46
主次梁交叉处箍筋加密长度 浏览:961
快递时效的算法 浏览:583
菜谱大全pdf 浏览:315
怎么在风云pdf上把文件夹汇总 浏览:878
java创建子类 浏览:531
安卓实况怎么退出渠道服登录 浏览:106
汽车12v电压缩机 浏览:417
乐图java 浏览:788
命令与征服注册表 浏览:323
听课app如何保存下来视频 浏览:450
phpiconv支持 浏览:92
什么app可以借到钱 浏览:16
单片机中rn是什么元件缩写 浏览:836
office插件pdf 浏览:187
上古卷轴dat1放哪个文件夹 浏览:775
文件夹左下角脱机状态 浏览:96
手机贴吧app哪个好 浏览:583
java文件读取中文乱码 浏览:515