使用PHP函数scandir排除特定目录
scandir()函数返回一个数组,其中包含指定路径中的文件和目录。如下所示:
例子:
<?php
print_r(scandir('test_directory'));
?>
输出:
Array
(
[0]=>.
[1]=>..
[2]=>1.txt
[3]=>2.txt
)
大部分情况只需要该目录的文件列表数组,如下:
Array
(
[0]=>1.txt
[1]=>2.txt
)
一般是通过排除“.”或者“..”的数组项解决的:
<?php
functionfind_all_files($dir)
{
$root = scandir($dir);
foreach($rootas$value)
{
if($value === '.' || $value === '..'){
continue;
}
if(is_file("$dir/$value")){
$result[] = "$dir/$value";
continue;
}
foreach(find_all_files("$dir/$value")as$value)
{
$result[] = $value;
}
}
return$result;
}
?>
另外一种方法,利用array_diff函数,剔除scandir函数执行得到的数组:
<?php
$directory='/path/to/my/directory';
$scanned_directory=array_diff(scandir($directory),array('..','.'));
?>
通常情况代码管理会产生.svn文件,或者限制目录访问权限的.htaccess等文件。所以通过array_diff函数来过滤会更方便。
相关推荐
-
PHP不用递归遍历目录下所有文件的代码
实现代码: /** * PHP 非递归实现查询该目录下所有文件 * @param unknown $dir * @return multitype:|multitype:string */ function scanfiles($dir) { if (! is_dir ( $dir )) return array (); // 兼容各操作系统 $dir = rtrim ( str_replace ( '\\', '/', $dir ), '/' ) . '/'; // 栈,默认值为传入的目录 $
-
php无限遍历目录示例
最近在能php目录操作,搞了一个目录无限遍历: 使用的函数有: isset()判断某个变量是否定义 chdir() 将当前目录改变为指定的目录. opendir() 打开目录. readdir()读取目录. getcwd().获取当前目录. 还用到了for if GET传值 大概就这些东东: 下面是代码: 复制代码 代码如下: <?phpif(isset($_GET['id'])){ $s=$_GET['id']; chdir($s); }echo '当前在'.getcw
-
php遍历目录输出目录及其下的所有文件示例
好多次笔试都会遇到这个问题,所以特意给写了出来 复制代码 代码如下: function my_scandir($dir){ $files=array(); if(is_dir($dir)){ if($handle=opendir($dir)){ while(($file=readdir($handle))!==false){ if($file!='.' && $file!=".."){ if(is_dir($dir."/".$file)){ $fil
-
php实现建立多层级目录的方法
本文以实例形式说明了php建立多层级目录的实现方法,代码简洁实用,功能强大,对于php程序员来说有一定的参考借鉴价值.实例详情如下: /** *根据路径path建立多级目录 *$dir目标目录 $mode权限,0700表示最高权限 */ function makedir( $dir , $mode = "0700" ) { if(strpos($dir , "/" )){ $dir_path = "" ; $dir_info = explode
-
php实例分享之通过递归实现删除目录下的所有文件详解
先贴代码: 复制代码 代码如下: <?phpfunction delFile($dirName){ if ($handle = opendir("$dirName")){ while (($item = readdir($handle))!=false){ if ($item!="." && $item!="..") { if ( is_dir( "$dirName/$item" ) )
-
php目录操作实例代码
复制代码 代码如下: <?php /** * listdir */ header("content-type:text/html;charset=utf-8"); $dirname = "./final/factapplication"; function listdir($dirname) { $ds = opendir($dirname); while (false !== ($file = readd
-
PHP遍历目录并返回统计目录大小
复制代码 代码如下: <?php $dirname = "test1"; //mkdir($dirname); //遍历一层目录 function listdir($dirname) { $ds = opendir($dirname); while($file = readdir($ds)) { $path = $dirname.'/'.$file; if(is_dir($file)) { echo "DIR:".$file."<br>&
-
在服务端进行目录建立、删除,文件上传、删除的过程的php代码
<?php extract($_POST); extract($_GET); ?> <html> <head> <title>查看服务器端目录和文件</title> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> </head> <body bgcolor="#FFFFFF&qu
-
使用PHP函数scandir排除特定目录
scandir()函数返回一个数组,其中包含指定路径中的文件和目录.如下所示: 例子: 复制代码 代码如下: <?phpprint_r(scandir('test_directory'));?> 输出: 复制代码 代码如下: Array([0]=>.[1]=>..[2]=>1.txt[3]=>2.txt) 大部分情况只需要该目录的文件列表数组,如下: 复制代码 代码如下: Array([0]=>1.txt[1]=>2.txt) 一般是通过排除".&
-
asp.net 特定目录form验证
就想将这个form验证运用到我作的网站上去,这样也可以增强一点网站的基础安全性. 今天上午,来到公司开始上网查找资料,学习form验证,因为我做的那个网站框架已经设计好了,需要对后台进行验证,后台的所有文件是在一个admin文件夹下,也就是说,所谓的form验证就是对admin下的文件进行form验证.我上网找了一些资料,都只是说对根目录下面的文件或者文件夹进行验证,也看到了可以运用<location path="1111">来进行排除,我就反其道而行之. 复制代码 代码如
-
php使用glob函数快速查询指定目录文件的方法
本文实例讲述了php使用glob函数快速查询指定目录文件的方法.分享给大家供大家参考.具体如下: php搜索当前目录所有文件,代码如下: 复制代码 代码如下: $array = glob('*.*'); print_r($array ); /* Array ( [0] => 1.php [1] => 10.php [2] => 11.php [3] => 2.asp [4] => 3.asp [5] => 4.asp
-
Python实现的在特定目录下导入模块功能分析
本文实例讲述了Python实现的在特定目录下导入模块功能.分享给大家供大家参考,具体如下: 方法1.在指定的目录下导入特定模块,(tab.py换行自动补齐语法模块) root@kali:~# ls /root/python/ csvt01 csvtpy scan1.py scanhostport.py tab.py tab.pyc test.py root@kali:~# pwd /root root@kali:~# python Python 2.7.3 (default, Mar 14 20
-
python中pandas.DataFrame排除特定行方法示例
前言 大家在使用Python进行数据分析时,经常要使用到的一个数据结构就是pandas的DataFrame,关于python中pandas.DataFrame的基本操作,大家可以查看这篇文章. pandas.DataFrame排除特定行 如果我们想要像Excel的筛选那样,只要其中的一行或某几行,可以使用isin()方法,将需要的行的值以列表方式传入,还可以传入字典,指定列进行筛选. 但是如果我们只想要所有内容中不包含特定行的内容,却并没有一个isnotin()方法.我今天的工作就遇到了这样的需
-
php使用glob函数遍历文件和目录详解
php glob()函数返回匹配指定模式的文件名或目录.因此我们可以使用glob函数来查找文件,也可以实现目录的遍历. 函数说明:array glob ( string $pattern [, int $flags ] ) 功能:寻找与模式匹配的文件路径,返回包含匹配文件(目录)的数组(注:被检查的文件必须是服务器系统的,不能用于远程文件) 参数说明:第一个参数:匹配模式:第二个可选参数: GLOB_MARK - 在每个返回的项目中加一个斜线 GLOB_NOSORT - 按照文件在目录中出现的原
-
Android如何遍历特定目录下所有文件
第一个案例为大家分享了Android遍历特定目录下所有文件,包含子目录的,并删除最新创建的. private boolean deleteLastFromFloder(String path) { boolean success = false; try { ArrayList<File> images = new ArrayList<File>(); getFiles(images, path); File latestSavedImage = images.get(0); if
-
pandas.DataFrame选取/排除特定行的方法
pandas.DataFrame选取特定行 使用Python进行数据分析时,经常要使用到的一个数据结构就是pandas的DataFrame,如果我们想要像Excel的筛选那样,只要其中的一行或某几行,可以使用isin()方法,将需要的行的值以列表方式传入,还可以传入字典,指定列进行筛选. >>> df = pd.DataFrame([['GD', 'GX', 'FJ'], ['SD', 'SX', 'BJ'], ['HN', 'HB', 'AH'], ['HEN', 'HEN', 'HL
-
使用批处理脚本在特定目录中启动Git-Bash窗口
问题描述 平时想要在项目目录中输入git命令,我需要先打开git-bash窗口,然后还要cd到项目目录中.这挺麻烦的.我现在想: 通过批处理脚本,直接在某个目录中启动git-bash窗口. 实现 在项目目录下,创建一个批处理脚本(StartGitBash.bat)文件,写入如下的命令: start F:\Program" "Files\Git\git-bash.exe --cd=D:\dev\workspace\HexoTools 命令解释start用于启动一个窗口F:\Program
-
wget下载整个网站(整个子目录)或特定目录
使用wget命令下载父目录下的整个子目录 使用wget命令下载父目录下的整个子目录,命令如下: wget -r --level=0 -E --ignore-length -x -k -p -erobots=off -np -N http://www.remote.com/remote/presentation/dir 将会下载远程服务器的整个文件夹下到你电脑当前文件目录下. 如何使用 wget 下载一个目录下的所有文件 wget -r -np -nH -R index.html http://u
随机推荐
- prototype Element学习笔记(篇一)
- Android 指纹识别详解及实现方法
- Python使用filetype精确判断文件类型
- Javascript 面试题随笔
- Android 实现不依赖焦点和选中的TextView跑马灯
- 一个简单的ASP+AJAX留言本源码下载
- Android Fragment+FragmentTabHost组件实现常见主页面(仿微信新浪)
- python实现的登录和操作开心网脚本分享
- SQL Server 比较日期大小的方法
- node.js中RPC(远程过程调用)的实现原理介绍
- 模拟弹出菜单的代码
- java object 之clone方法全面解析
- 理解Android中的自定义属性
- Java导出oracle表结构实例详解
- 基于C#方法重载的总结详解
- js 函数的副作用分析
- PHP微框架Dispatch简介
- Python动态语言与鸭子类型详解
- 易语言超级按钮使用技巧
- 在vue项目中使用Jquery-contextmenu插件的步骤讲解