www.adminn.cn
站长正能量分享网!

使用PHP函数scandir排除特定目录

AD:阿里云服务器企业会员更优惠 腾讯云香港,韩国免备案服务器1.8折优惠

scandir()函数返回一个数组,其中包含指定路径中的文件和目录。这篇文章主要介绍了使用PHP函数scandir排除特定目录,需要的朋友可以参考下

scandir()函数返回一个数组,其中包含指定路径中的文件和目录。如下所示:

  1. <?php 
  2. print_r(scandir('test_directory')); 
  3. ?> 

输出:

  1. Array 
  2. [0]=>. 
  3. [1]=>.. 
  4. [2]=>1.txt 
  5. [3]=>2.txt 

大部分情况只需要该目录的文件列表数组,如下:

  1. Array 
  2. [0]=>1.txt 
  3. [1]=>2.txt 

一般是通过排除“.”或者“..”的数组项解决的:

  1. <?php 
  2. functionfind_all_files($dir
  3.     $root = scandir($dir); 
  4.     foreach($rootas$value
  5.     { 
  6.         if($value === '.' || $value === '..'){ 
  7.             continue
  8.         } 
  9.         if(is_file("$dir/$value")){ 
  10.             $result[] = "$dir/$value"
  11.             continue
  12.         } 
  13.         foreach(find_all_files("$dir/$value")as$value
  14.         { 
  15.             $result[] = $value
  16.             } 
  17.         } 
  18.     return$result
  19.     } 
  20. ?> 

另外一种方法,利用array_diff函数,剔除scandir函数执行得到的数组:

  1. <?php 
  2. $directory='/path/to/my/directory'
  3. $scanned_directory=array_diff(scandir($directory),array('..','.')); 
  4. ?> 

通常情况代码管理会产生.svn文件,或者限制目录访问权限的.htaccess等文件。所以通过array_diff函数来过滤会更方便。

模板优惠价: (点击购买)
版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
文章名称:《使用PHP函数scandir排除特定目录》
文章链接:https://www.adminn.cn/news/8279.html
本站资源模板仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。2021.5月起,网站调整,暂不再分享免费模板。谢谢理解

Adminn.Cn 站长分享圈

帝国CMS精品模板腾讯云优惠券,代金券

2次开发,学习研究使用!扫码支付后联系QQ677123发货!

支付宝扫一扫打赏