PHP获取文件夹下所有子文件夹的名称及子文件夹所有图片
此段代码可显示所在文件夹和子件夹下的所有图片,代码如下<?php
$path="."; //当前目录
function file_list($path){
$im_type=array('bmp','jpg','jpeg','png','gif'); //初始化图片文件扩展名
if ($handle = opendir($path)) {
while (false !== ($file = readdir($handle))) {
if ($file != "." && $file != "..") {
if (is_dir($path."/".$file)) {
echo $path.": ".$file."<br>"; //此行代码可显示所有子文件夹名称
file_list($path."/".$file);
} else {
if(strpos($file,'.png',1)||strpos($file,'.jpg',1)||strpos($file,'.ico',1)||strpos($file,'.gif',1)){
echo '<img src="'.$path.'/'.$file.'" /> <br />';
}
}
}
}
}
}
echo file_list($path);
?>
注:经测试可用,能显示所在文件夹和子件夹下的图片
scandir列目录下面的文件和目录
opendir 打开目录readdir读取目录
is_dir()判断给定文件名是否是一个目录
在PHP中 if ($file != "." && $file != "..")是什么意思
如果变量$file不是.并且不是..执行后面语句
应该用来判断目录的
这个用到的技术就php对文件的操作,文件遍历。这里有个我自己写当前目录和子目录文件遍历函数,代码如下。
<?php//递归遍历文件夹,输出所有文件的路径
$path = "."; //当前目录
function bianli($path){
static $arr=array();
$str="";
if($open=opendir($path)){
while($f=readdir($open)){
$str=$path;
if($f!='.' && $f!='..'){
$str=$str."/".$f;
if(is_dir($str)){
$i++; //记录图片总张数
bianli($str);
}else{
$arr[]=$str;
//echo $str."";
}
}
}
}
return $arr;
}
//遍历文件夹,不含子目录下的文件
function search_one_file($path){
$arr=array();
if($open=opendir($path)){
while($f=readdir($open)){
if($f!='.' && $f!='..'){
$arr[]=$path."/".$f;
}
}
}
return $arr;
}
$bianli=bianli($path);
print_r($bianli);
echo '<br>';
echo '<br>';
$search_one_file=search_one_file($path);
print_r($search_one_file);
?>
遍历文件夹及子文件夹所有文件 实例:
<html>
<body>
<?php
$path="."; //当前目录
function traverse($path) {
$current_dir = opendir($path); //opendir()返回一个目录句柄,失败返回false
while(($file = readdir($current_dir)) !== false) { //readdir()返回打开目录句柄中的一个条目
$sub_dir = $path . DIRECTORY_SEPARATOR . $file; //构建子目录路径
if($file == '.' || $file == '..') {
continue;
} else if(is_dir($sub_dir)) { //如果是目录,进行递归
echo 'Directory ' . $file . ':<br>';
traverse($sub_dir);
} else { //如果是文件,直接输出
echo 'File in Directory ' . $path . ': ' . $file . '<br>';
}
}
}
traverse($path);
?>
</body>
</html>
显示效果:
Directory 子目录名:
File in Directory .\子目录名: IMG_01.jpg
File in Directory .\子目录名: IMG_02.jpg
File in Directory .: IMG_1.jpg
File in Directory .: IMG_2.jpg
File in Directory .: index.php
页:
[1]