<span style="background-color: rgb(247, 252, 255); font-family: Tahoma, Helvetica, Arial, 宋体, sans-serif; line-height: 25.200000762939453px;"></span>
本文实例讲述了php读取目录及子目录下所有文件名的方法,分享给大家供大家参考。具体实现方法如下:
一般来说php中读取目录下的文件名的方式确实不少,
1.最简单的是scandir,具体代码如下:
复制代码代码如下:
$dir="./caxa/";
$file=scandir($dir);
print_r($file);
$file=scandir($dir);
print_r($file);
2.稍微复杂点的,
//要读取的目录
$folder="H:/temp";
//打开目录
$fp=opendir($folder);
//阅读目录
while(false!=($file=readdir($fp)))
{
//列出所有文件并去掉'.'和'..'
if($file!='.' &&$file!='..')
{
//$file="$folder/$file";
$file="$file";
//赋值给数组
$arr_file[]=$file;
}
}
//输出结果
if(is_array($arr_file))
{
while(list($key,$value)=each($arr_file))
{
echo "$key=>$value<br>";
}
}
//关闭目录
closedir($fp);
function listFiles($dir)
{
//打开目录
$handle=opendir($dir);
//阅读目录
while(false!=($file=readdir($handle)))
{
//列出所有文件并去掉'.'和'..'
if($file!='.'&&$file!='..')
{
//所得到的文件名是否是一个目录
if(is_dir("$dir/$file"))
{
//列出目录下的文件
listFiles("$dir/$file");
}
else
{
//如果是文件则打开该文件
$fp=fopen("$dir/$file","r");
//阅读文件内容
$data=fread($fp,filesize("$dir/$file"));
if($data)
//将读到的内容赋值给一个数组
$file_array[]="$dir/$file";
/*foreach($file_array as $key=>$value)
{
echo "$value<br>";
}
*/
//echo count($file_array);
//输出结果
while(list($key,$value)=each($file_array))
{
echo"$key=>$value<br>";
}
}
}
}
}
/*------------------------------------------*/
//调用
$dir="H:/temp";
listFiles($dir);
4.读取某个目录下的文件,如果该目录不存在则创建它
$folder="H:/temp1";
//打开目录
@$fp=opendir($folder);
//如果该目录不存在则创建它
if(!$fp)
{
//创建目录
mkdir($folder);
//修改该目录的权限
chmod($folder,'0755');
echo " the folder create success!";
}
else
{
echo " the folder have exists.";
}