php遍历文件夹下所有文件(php 遍历文件夹)

华为云服务器特价优惠火热进行中!

2核2G2兆仅需 38 元;4核4G3兆仅需 79 元。购买时间越长越优惠!更多配置及优惠价格请咨询客服。

合作流程:
1、点击链接注册/关联华为云账号:点击跳转
2、添加客服微信号:cloud7591,确定产品方案、价格方案、服务支持方案等;
3、客服协助购买,并拉微信技术服务群,享受一对一免费技术支持服务;
技术专家在金蝶、华为、腾讯原厂有多年工作经验,并已从事云计算服务8年,可对域名、备案、网站搭建、系统部署、AI人工智能、云资源规划等上云常见问题提供更专业靠谱的服务,对相应产品提供更优惠的报价和方案,欢迎咨询。

今天给各位分享php遍历文件夹下所有文件的知识,其中也会对php 遍历文件夹进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

微信号:cloud7591
如需了解更多,欢迎添加客服微信咨询。
复制微信号

本文目录一览:

php 循环遍历文件夹下面的所有目录及文件并且每个文件都写入一句话

/****************************

* 获取目录下的所有文件

* [$dir] 文件夹路径

****************************/

function deepScanDir($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);

    }

    return array (

        'dir' = $dirArr,

        'file' = $fileArr

    );

}

/****************************

* 将内容写入文件

* [$filename] 文件路径

* [$contents]  文件内容

* [$type]     读写类型

****************************/

function writeFileContents($filename, $contents, $type='a') {

    if (!($fd = fopen($filename, $type)))

        return FALSE;

    if (!fwrite($fd, $contents."\n")) {

        fclose($fd);

        return FALSE;

    }

    fclose($fd);

    return true;

}

#示例:

$dir = "/usr/local/php/test/";

$dirFiles = deepScanDir($dir);

if(!empty($dirFiles['file'])){

    foreach($dirFiles['file'] as $file){

        writeFileContents($file, "Hello", $type='a+');

    }

}

PHP如何读出当前目录下所有文件?

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

PHP如何遍历指定文件夹,获取所有文件列表并生成下载链接??

试编写代码如下:

?php

$dir="D:/WWW/ftp"; //指定的路径

$sitepath = '';

//遍历文件夹下所有文件

if (false != ($handle = opendir ( $dir ))) {

    echo "$dir 目录下的文件列表:BR/";

    $i = 0;

    while (false !== ($file = readdir($handle))) {

        if ($file != "."  $file != ".."  !is_dir($dir.'/'.$file)) {

            echo 'a href="' . $sitepath . $file . '"'.$file. '/abr/';

        }

    }

    //关闭句柄

    closedir($handle);

}

?

代码中需要提示的是:

如果是运行于互联网上,需要考虑文件的访问安全性。

运行截图:

php写一个函数,能够遍历一个文件夹下的所有文件和子文件夹

最近刚写的,可以遍历指定目录下的所有文件、文件夹、特定后缀的文件:

/**

 * 遍历目录

 * @param string $dir 绝对/相对路径

 * @param string $filter 默认*返回所有文件及文件夹,*.php仅返回php文件,如果$patten为GLOB_BRACE可实现多文件筛选,如*.{php,html},返回php和html文件

 * @param const $patten 默认GLOB_BRACE,可选:GLOB_ONLYDIR,更多参数请参考手册

 * @param string/bool $nocache 防止本次调用的结果缓存上次的结果,如果一个脚本仅调用一次本函数,则不用管,否则得设个值

 * @return array

 */

function globdir($dir, $filter = '*', $patten = GLOB_BRACE, $nocache = null) {

    static $file_arr = array ();

    isset($nocache)  $file_arr = array ();

    if (!is_dir($dir)) return;

    if ($patten == GLOB_ONLYDIR) {

        $code = 'if (is_dir($file)) {$file_arr[] = $file;globdir($file, "*", GLOB_ONLYDIR);}';

    } else {

        $code = 'is_file($file) ? $file_arr[] = $file : globdir($file,"' . $filter . '",' . $patten . ');';

    }

    array_walk(glob("{$dir}/{$filter}", $patten), create_function('$file, $k, $file_arr', $code), $file_arr);

    if ($filter != '*') {

        array_walk(glob("{$dir}/*", GLOB_ONLYDIR), create_function('$dir,$k,$param', 'list($filter, $patten) = explode("|", $param);globdir($dir, $filter, $patten);'), "{$filter}|{$patten}");

    }

    return $file_arr;

}

php删除一个路径下的所有文件夹和文件的方法

php遍历一个文件夹内的所有文件和文件夹,并删除所有文件夹和子文件夹下的所有文件的代码,通过递归方式实现达到清空一个目录的效果,代码简单实用。

也适合在thinkphp中清理缓存,在thinkphp中可以把下面代码写入./Application/Admin/Common/function.php文件中,再在控制器调用这个函数进行清理操作。

用到的函数:

scandir($path)

遍历一个文件夹所有文件并返回数组。

unlink($filename)

删除文件。

rmdir($path)

只删除空文件夹

?php

//设置需要删除的文件夹

$path

=

"./Application/Runtime/";

//清空文件夹函数和清空文件夹后删除空文件夹函数的处理

function

deldir($path){

//如果是目录则继续

if(is_dir($path)){

//扫描一个文件夹内的所有文件夹和文件并返回数组

$p

=

scandir($path);

foreach($p

as

$val){

//排除目录中的.和..

if($val

!="."

$val

!=".."){

//如果是目录则递归子目录,继续操作

if(is_dir($path.$val)){

//子目录中操作删除文件夹和文件

deldir($path.$val.'/');

//目录清空后删除空文件夹

@rmdir($path.$val.'/');

}else{

//如果是文件直接删除

unlink($path.$val);

}

}

}

}

}

//调用函数,传入路径

deldir($path);

总结

以上所述是小编给大家介绍的php删除一个路径下的所有文件夹和文件的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

您可能感兴趣的文章:PHP循环输出指定目录下的所有文件和文件夹路径例子(简单实用)php获取文件夹路径内的图片以及分页显示示例PHP获取文件相对路径的方法查找php配置文件php.ini所在路径的二种方法

关于php遍历文件夹下所有文件和php 遍历文件夹的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

发布于 2023-04-07 12:04:35
收藏
分享
海报
27
目录

    忘记密码?

    图形验证码

    复制成功
    微信号: cloud7591
    如需了解更多,欢迎添加客服微信咨询。
    我知道了