php遍历文件夹下所有文件(php 遍历文件夹)
华为云服务器特价优惠火热进行中! 2核2G2兆仅需 38 元;4核4G3兆仅需 79 元。购买时间越长越优惠!更多配置及优惠价格请咨询客服。
合作流程: |
今天给各位分享php遍历文件夹下所有文件的知识,其中也会对php 遍历文件夹进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
微信号:cloud7591如需了解更多,欢迎添加客服微信咨询。
复制微信号
本文目录一览:
- 1、php 循环遍历文件夹下面的所有目录及文件并且每个文件都写入一句话
- 2、PHP如何读出当前目录下所有文件?
- 3、PHP如何遍历指定文件夹,获取所有文件列表并生成下载链接??
- 4、php写一个函数,能够遍历一个文件夹下的所有文件和子文件夹
- 5、php删除一个路径下的所有文件夹和文件的方法
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 遍历文件夹的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
