❶ php去遍历一个文件夹含有几个子文件夹,并获得文件夹的名字怎么写有没有源码例子
<?php
/**********************
一个简单的目录递归函数
第一种实现办法:用dir返回对象
***********************/
function tree($directory)
{
$mydir = dir($directory);
echo "<ul>\n";
while($file = $mydir->read())
{
if((is_dir("$directory/$file")) AND ($file!=".") AND ($file!=".."))
{
echo "<li><font color=\"#ff00cc\"><b>$file</b></font></li>\n";
tree("$directory/$file");
}
else
echo "<li>$file</li>\n";
}
echo "</ul>\n";
$mydir->close();
}
//开始运行
echo "<h2>目录为粉红色</h2><br>\n";
tree("./nowamagic");
/***********************
第二种实现办法:用readdir()函数
************************/
function listDir($dir)
{
if(is_dir($dir))
{
if ($dh = opendir($dir))
{
while (($file = readdir($dh)) !== false)
{
if((is_dir($dir."/".$file)) && $file!="." && $file!="..")
{
echo "<b><font color='red'>文件名:</font></b>",$file,"<br><hr>";
listDir($dir."/".$file."/");
}
else
{
if($file!="." && $file!="..")
{
echo $file."<br>";
}
}
}
closedir($dh);
}
}
}
//开始运行
listDir("./nowamagic");
?>
❷ php 遍历文件夹文件问题
<?php
//脚本根目录
define ( 'S_ROOT', dirname ( __FILE__ ) . DIRECTORY_SEPARATOR );
//递归查找搜索文件
function glob_recursive($pattern, $flags = 0) {
$files = glob ( $pattern, $flags );
foreach ( glob ( dirname ( $pattern ) . '/*', GLOB_ONLYDIR | GLOB_NOSORT ) as $dir ) {
$files = array_merge ( $files, glob_recursive ( $dir . '/' . basename ( $pattern ), $flags ) );
}
return $files;
}
//如果搜索所有文件可用 S_ROOT.'image/'."*.*"
//如果只是某一类文件可以 S_ROOT.'image/'."*.gif"
$filelist = glob_recursive(S_ROOT.'image/'."*.gif");
foreach ($filelist as $file) {
echo '目录 '.dirname($file).' 路径 '. $file.'<br />'
}
?>
执行脚本结果类似下图
❸ PHP怎么遍历一个文件夹下所有的文件,默认显示第一个内容。
在 php 语言里,列出一个文件夹下所有的文件,最简单的是使用 scandir 函数,示例如下:
<?php
$dir='/tmp';
$files1=scandir($dir);
print_r($files1);
?>
scandir 原型定义如下:
arrayscandir(string$directory[,int$sorting_order[,resource$context]])
第2个参数,可以将获取的文件列表按升、降序进行排序。
❹ php中写一个函数,能够遍历一个文件夹下的所有文件和子文件夹
if ( $handle = opendir($dir) ) {【开启一个 代表该目录 的句柄handle,句柄理解成一个对象就行】
while ( ($file = readdir($handle)) !== false ) {【尝试从目录中读一个文件名,能读出文件名就继续循环,读出false值就终止循环。整体上就是遍历文件名】
if ( $file != ".." && $file != "." ) {【排除等于1点.和2点的..,排除上级目录和当前目录】
if ( is_dir($dir . "/" . $file) ) {【如果文件名是目录就...】
❺ php怎么遍历指定目录下的文件(可指定文件类
遍历目录下文件,首先获取该目录下的所有文件名。
$folder='./folder/';
foreach(scandir($folder)AS$value){
if($value=='.'OR$value=='..')continue;
echo'文件名:'.$value." ";
}
❻ php 循环遍历文件夹下面的所有目录及文件并且每个文件都写入一句话
/****************************
*获取目录下的所有文件
*[$dir]文件夹路径
****************************/
functiondeepScanDir($dir){
$fileArr=array();
$dirArr=array();
$dir=rtrim($dir,'//');
if(is_dir($dir)){
$dirHandle=opendir($dir);
while(false!==($fileName=readdir($dirHandle))){
$subFile=$dir.DIRECTORY_SEPARATOR.$fileName;
if(is_file($subFile)){
$fileArr[]=$subFile;
}
elseif(is_dir($subFile)&&str_replace('.','',$fileName)!=''){
$dirArr[]=$subFile;
$arr=deepScanDir($subFile);
$dirArr=array_merge($dirArr,$arr['dir']);
$fileArr=array_merge($fileArr,$arr['file']);
}
}
closedir($dirHandle);
}
returnarray(
'dir'=>$dirArr,
'file'=>$fileArr
);
}
/****************************
*将内容写入文件
*[$filename]文件路径
*[$contents]文件内容
*[$type]读写类型
****************************/
functionwriteFileContents($filename,$contents,$type='a'){
if(!($fd=fopen($filename,$type)))
returnFALSE;
if(!fwrite($fd,$contents." ")){
fclose($fd);
returnFALSE;
}
fclose($fd);
returntrue;
}
#示例:
$dir="/usr/local/php/test/";
$dirFiles=deepScanDir($dir);
if(!empty($dirFiles['file'])){
foreach($dirFiles['file']as$file){
writeFileContents($file,"Hello",$type='a+');
}
}
❼ php遍历文件夹获得所有文件名怎么办啊
/*filename:
..
:
filetype:
dir
filename:
index.html
:
filetype:
file
filename:
.
:
filetype:
dir
filename:
index.php
:
filetype:
file
filename:
index.html~
:
filetype:
file
filename:
index.php~
:
filetype:
file
*/可能有的原因是你的目录
$dir
=
"/etc/php5/";
不存在,检查一下;
❽ 写一个php函数,可以遍历目录下面的所有文件及子文件夹并修改后缀名
可以用递归的方式,还有别的方式能实现
function my_dir($dir)
{
$files = array();
if (@$handle = opendir($dir)) {
while (($file = readdir($handle)) !== false) {
if ($file != ".." && $file != ".") {
if (is_dir($dir . "/" . $file)) {
$files[$file] = my_dir($dir . "/" . $file);
} else {
$files[] = $file;
}
}
}
closedir($handle);
return $files;
}
}
❾ PHP遍历并打印指定目录下所有文件实例
这篇文章主要介绍了PHP遍历并打印指定目录下所有文件实例,需要的朋友可以参考下
代码如下:
<?php
//功能:遍历并打印指定目录下所有文件
function
scan_dir($dir_name,$dir_flag=1)
{
static
$FILE_COUNT=1;
//记录文件数目
初值为1
目录名称不记
$FILE_COUNT--;
//每调用一次scan_dir()函数自减1
@$dir_handle=opendir($dir_name);
//抑制错误信息显示
便于自定义错误显示
if(!$dir_handle)
die("目录打开错误!");
while(false!==($filename=readdir($dir_handle)))
//文件名为‘0'时,readdir返回
FALSE,判断返回值是否不全等
{
$flag=$dir_flag;
//古怪的
is_dir($filename)
!
$filename这个路径必须能够寻到!当$filename不存在或者不是目录时返回false
if($filename!='.'&&$filename!='..')
{
$FILE_COUNT++;
//不记录当前路径和上一级路径
while($flag>0&&--$flag)
//负数仍为真
echo
'
';
if(is_dir($dir_name.$filename))
//判断
是否为一个目录
{
echo
'<strong>'."<a
href=".$dir_name.$filename.">".$filename."</a></strong><br>";
scan_dir($dir_name.$filename.'/',$dir_flag+1);
//$dir_flag标志目录树层次
}
else
{
echo
"<a
href=".$dir_name.$filename.">".$filename."</a><br>";
}
}
}
closedir($dir_handle);
//关闭目录句柄
echo
"文件总数:".$FILE_COUNT.'<br>';
}
scan_dir('D:wampwwwtestlamp61');
//指定的文件路径
?>