导航:首页 > 文件教程 > php获取目录文件

php获取目录文件

发布时间:2024-08-08 05:54:44

① PHP列出目录中的目录和文件的几种方法

<?php
/**
*PHP中列出目录中的目录和文件的几种方法
*/
//兼容PHP4和PHP5的写法

functiongetFileList($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中的简单方法

functiongetFileList2($directory){
$files=array();
if(is_dir($directory)){
if($files=scandir($directory)){
$files=array_slice($files,2);
}
}
return$files;
}

//使用PHP5面向对象的写法

functiongetFileList3($directory){
$files=array();
try{
$dir=newDirectoryIterator($directory);
}catch(Exception$e){
thrownewException($directory.'isnotreadable');
}
foreach($diras$file){
if($file->isDot())continue;
$files[]=$file->getFileName();
}
return$files;
}

//测试代码

$dir=dirname(__FILE__);
var_mp(getFileList($dir));
?>

② 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如何读出当前目录下所有文件

一般来说php中读取目录下的文件名的方式确实不少,最简单的是scandir,具体代码如下:x0dx0a复制代码 代码如下:$dir="./caxa/";x0dx0a$file=scandir($dir);x0dx0aprint_r($file);x0dx0a稍微复杂点的,来自于php手册:x0dx0a复制代码 代码如下:$dir = "/etc/php5/";x0dx0a/激判/ Open a known directory, and proceed to read its contentsx0dx0aif (is_dir($dir)) {x0dx0aif ($dh = opendir($dir)) {x0dx0awhile (($file = readdir($dh)) !== false) {x0dx0aecho "filename: $file : filetype: " . filetype($dir . $file) . "\n";x0dx0a} closedir($dh);x0dx0a}x0dx0a}x0dx0a这些都只能读取当前指定目录下的文件,对握穗子目录中的文件则无法读取。原来自己写明皮改过一个循环删除所有目录的一段代码,需要逐个子目录删除所有文件,包括多层。但是只需要读出文件名,稍微复杂点,网上找到一个能用,原始代码有错误提示,改了一下引用&$data的地方,如下所示:x0dx0a复制代码 代码如下:function searchDir($path,&$data){x0dx0aif(is_dir($path)){x0dx0a$dp=dir($path);x0dx0awhile($file=$dp->read()){x0dx0aif($file!='.'&& $file!='..'){x0dx0asearchDir($path.'/'.$file,$data);x0dx0a}x0dx0a}x0dx0a$dp->close();x0dx0a}x0dx0aif(is_file($path)){x0dx0a$data[]=$path;x0dx0a}x0dx0a}x0dx0afunction getDir($dir){x0dx0a$data=array();x0dx0asearchDir($dir,$data);x0dx0areturn $data;x0dx0a}x0dx0aprint_r(getDir('.'));x0dx0a希望本文所述对大家的PHP程序设计有所帮助。

④ PHP读取目录下所有文件内容并显示

<?php

function printFile($filepath)

{

//substr(string,start,length)函数返回字符串的一部分;start规定在字符串的何处开始 ;length规定要返回的字符串长度。默认是直到字符串的结尾。

//strripos(string,find,start)查找 "php" 在字符串中最后一次出现的位置; find为规定要查找的字符;start可选。规定开始搜索的位置

//读取文件后缀名

//$filetype = substr ( $filename, strripos ( $filename, "." ) + 1 );

//判断是不是以txt结尾并且是文件

#if ($filetype == "txt" && is_file ( $filepath . "/" . $filename ))

if ( is_file ( $filepath))

{

$filename=iconv("gb2312","utf-8",$filepath);

echo $filename."内容如下:"."<br/>";

$fp = fopen ( $filepath, "r" );//打开文件

#while (! feof ( $f )) //一直输出直到文件结尾

$i = 1;

while ($i < 10)

{

$line = fgets ( $fp );

echo $line."<br/>";

$i = $i +1;

}

fclose($fp);

}

}

(此处空一行)

function readFileRecursive($filepath)

{

if (is_dir ( $filepath )) //判断是不是目录

{

$dirhandle = opendir ( $filepath );//打开文件夹的句柄

if ($dirhandle)

{

//判断是不是有子文件或者文件夹

while ( ($filename = readdir ( $dirhandle ))!= false )

{

if ($filename == "." or $filename == "..")

{

//echo "目录为“.”或“..”"."<br/>";

continue;

}

//判断是否为目录,如果为目录递归调用函数,否则直接读取打印文件

if(is_dir ($filepath . "/" . $filename ))

{

readFileRecursive($filepath . "/" . $filename);

}

else

{

//打印文件

printFile($filepath . "/" . $filename);

echo "<br/>";

}

}

closedir ( $dirhandle );

}

}

else

{

printFile($filepath . "/" . $filename);

return;

}

}

(此处空一行)

header("content-type:text/html;charset=utf-8");

#echo "Hello World"."<br/>";

$filepath = "C:/phpStudy/PHPTutorial/WWW/test/results"; //想要读取的目录

readFileRecursive($filepath )

?>

(4)php获取目录文件扩展阅读:

php还可以读取文件夹下所有图片,方法如下

hostdir=dirname(__FILE__).'/data/upload/admin/20170517/'; //要读取的文件夹

(此处空一行)

$url = '/data/upload/admin/20170517/'; //图片所存在的目录

(此处空一行)

$filesnames = scandir($hostdir); //得到所有的文件

(此处空一行)

// print_r($filesnames);exit;

//获取也就是扫描文件夹内的文件及文件夹名存入数组 $filesnames

(此处空一行)

$www = 'http://www.***.com/'; //域名

(此处空一行)

foreach ($filesnames as $name) {

$aurl= "<img width='100' height='100' src='".$www.$url.$name."' alt = '".$name."'>"; //图片

echo $aurl . "<br/>"; //输出他

⑤ php中怎样获取目录中文件的个数

$a = count(glob("*",GLOB_ONLYDIR));
$b = count(glob("*"));
echo '当前目录下文件夹数量:',$a,',文件数量:',$b-$a;
//这样就可以获取当前目录的文件夹和文件数量了

⑥ php如何读取某目录下的所有同类型文件

<?php

$files = glob('*.jpg'); // 其他文来件做类似修改,源比如 *.png, *.txt等。。有目录请添加绝对目录。比如:c:/album/*.jpg
echo 'total : ' , count($files); // $files是一个文件数组。

?>

阅读全文

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

热点内容
居民医保工行手机app怎么缴费 浏览:602
图论与网络流理论答案 浏览:913
安装win10后需要输入WiFi密码吗 浏览:412
c语言加法的编程格式是什么样的 浏览:195
用户大数据怎么计算 浏览:717
手机app软件怎么开发 浏览:785
记得app 浏览:854
网络教课优点是什么 浏览:846
设置验证被拉入微信群 浏览:966
bubblegum教程 浏览:474
win7如何修改用户密码 浏览:169
逆战辅助销售网站源码 浏览:100
陕西回收贴片机如何编程 浏览:948
以前鲍鱼网站里的小说怎么没了 浏览:267
matlab程序如何调试 浏览:915
ps工程文件怎么发 浏览:95
word文件如何批量插入盖章 浏览:548
jscheckbox 浏览:338
pics规则文件 浏览:644
如何从数据中找出问题和机会 浏览:668

友情链接