php is_file()和is_dir()用于遍历目录时用法注意事项
1、目录inc有以下内容:
子目录 0
子目录 a
footer.html
header.html
login_function.inc.php
mysqli_connect.php
style.css
2、现在PHP要遍历inc目录,并只显示文件,不显示目录0和a,代码如下:
代码如下:
$dir = $_SERVER['DOCUMENT_ROOT'];
$dir = "$dir/inc/";
$d = opendir($dir);
while(false !==($f=readdir($d)))
{
if(is_file($f)){
echo " <h2>$f </h2>";
}else{
echo " <h2>是目录$f </h2>";
}
}
closedir($d);
结果却只显示了“footer.html”是文件,其它都变成目录了:
是目录.
是目录..
是目录a
footer.html
是目录header.html
是目录login_function.inc.php
是目录mysqli_connect.php
是目录style.css
这是由于不能在is_file和is_dir中直接使用“$f”,这样会被PHP当作是根目录下的该文件,而在我的根目录下有footer.html这个文件,所以会正确显示这个文件。其它则不行。代码改成:
要正确显示,需要改造代码:
代码如下:
while(false !== ($f=readdir($d)))
{
if(is_file("$dir/$f")){
echo "<h2>$f</h2>";
}else{
echo "<h2>是目录$f</h2>";
}
}
closedir($d);
相关推荐
-
PHP中is_file()函数使用指南
is_file() 函数检查指定的文件名是否是正常的文件. is_file - Tells whether the filename is a regular file 用法: bool is_file ( string $filename ) $file 为必选参数 如果文件存在且为正常的文件则返回 TRUE. 先来看一个实例一: <?php var_dump(is_file('a_file.txt')) . "\n"; var_dump(is_file('/usr/bin/'
-
php is_file 判断给定文件名是否为一个正常的文件
is_file() 函数检查指定的文件名是否是正常的文件. is_file - Tells whether the filename is a regular file 用法 bool is_file ( string $filename ) $file 为必选参数 如果文件存在且为正常的文件则返回 TRUE. 来看一个测试is_file经典实例 复制代码 代码如下: <?php var_dump(is_file('a_file.txt')) . "\n"; var_dump(i
-
PHP中判断文件存在使用is_file还是file_exists?
判断文件存在用is_file还是file_exists? 在写程序时发现在判断文件是否存在时,有两种写法,有的人用了is_file,有的人用了file_exists,用哪个更好或者说更合适呢? 看了这篇PHP中file_exists与is_file,is_dir的区别的说法基本明白,PHP的 file_exists = is_dir + is_file. 写程序验证一下: 分别执行1000次,记录所需时间. 文件存在(当前目录) 复制代码 代码如下: is_file:0.4570ms file_
-
PHP中file_exists与is_file,is_dir的区别介绍
很显然file_exists是受了asp的影响,因为asp不但有fileExists还有folderExists,driverExists,那么PHP中file_exists是什么意思呢? PHP的 file_exists = is_dir + is_file 它既可以判断文件是否存在,又可以判断目录是否存在.但这样一个全面的函数执行效率非常低,就像asp中request不指定是form,还是get,cookies,所以结论是: ◦如果要判断目录是否存在,请用独立函数 is_dir(direct
-
php中判断文件存在是用file_exists还是is_file的整理
看了这篇PHP中file_exists与is_file,is_dir的区别的说法基本明白,PHP的 file_exists = is_dir + is_file. 写程序验证一下: 分别执行1000次,记录所需时间. 文件存在(当前目录) is_file:0.4570ms file_exists:2.0640ms 文件存在(绝对路径3层/www/hx/a/) is_file:0.4909ms file_exists:3.3500ms 文件存在(绝对路径5层/www/hx/a/b/c/) is_f
-
PHP中is_file不能替代file_exists的理由
我们可以使用下面的代码测试一下: 复制代码 代码如下: <?php $filename = 'test.txt'; if (is_file($filename)) { echo "$filename exists!\n"; } else { echo "$filename no exists!\n"; } sleep(10); if (is_file($filen
-
php is_file()和is_dir()用于遍历目录时用法注意事项
1.目录inc有以下内容: 子目录 0 子目录 a footer.html header.html login_function.inc.php mysqli_connect.php style.css 2.现在PHP要遍历inc目录,并只显示文件,不显示目录0和a,代码如下: 复制代码 代码如下: $dir = $_SERVER['DOCUMENT_ROOT']; $dir = "$dir/inc/"; $d = opendir($dir); while(false !==($f=r
-
PHP遍历目录函数opendir()、readdir()、closedir()、rewinddir()总结
在进行PHP编程时,需要对服务器某个目录下面的文件进行浏览,通常成为遍历目录.取得一个目录下的文件和子目录,就需要用到opendir()函数.readdir()函数.closedir()函数和rewinddir()函数. ①函数opendir() 函数opendir()用于打开指定目录,接受一个目录的路径及目录名作为参数,函数返回值为可供其他目录函数使用的目录句柄(资源类型).如果该目录不存在或者没有访问权限,则返回FALSE. ②函数readdir() 函数readdir()用于读取指定目录,
-
深入linux下遍历目录树的方法总结分析
前几天需要实现对整个目录树的遍历,查阅了相关的一些资料.开始找到的原始的方法是使用readdir()与lstat()函数实现递归遍历,后来发现linux对于目录遍历这种最常用的操作已经提供了很完善的接口:ftw()与nftw().下面就这两种方法具体说明一下.1.手动实现递归1.1 stat()函数族stat函数族包括:stat,fstat以及lstat函数,都是向用户返回文件的属性信息(元数据). 复制代码 代码如下: view plaincopy to clipboardprint?#inc
-
PHP采用自定义函数实现遍历目录下所有文件的方法
目录的遍历是PHP程序设计中经常会用到的一个功能,很多PHP项目都有这一功能模块.今天本文就来实例解析一下PHP采用自定义函数实现遍历目录下所有文件的方法.具体方法如下: 方法一:使用readir()遍历目录 实现代码如下: function listDir($dir) { if(is_dir($dir)) { if($handle = opendir($dir)) { while($file = readdir($handle)) { if($file != '.' && $file !
-
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本身也提供了很多灰常有用的函数,正确地使用它们,不会有错滴.下面就我个人学习过程中的一些总结,希望对想学PHP的童鞋有所帮助.本函数可以列出指定目录下所有的文件(包括子目录下的) 复制代码 代码如下: function getfiles($path){ foreach(scandir($path) as $afile){if($afile=='.'||$afile=='..') continue; if(is_d
-
Java使用File类遍历目录及文件实例代码
1. 构造函数 File(String args0)//使用一个表示文件或目录的路径的字符串创建一个File对象 File(URL args0)//使用一个URL对象创建File对象 File(File args0, String args1)//使用一个File对象(一般是目录)和一个文件名字符串创建File对象 File(String args0, String args1)//使用一个目录字符串和一个文件名字符串创建对象 使用File类需要注意两点: 第一,File类用于表示文件或目录的名
-
Python遍历目录下文件、读取、千万条数据合并详情
目录 一.使用Python进行文件和文件夹的判断 二.使用Python完整的获取所有文件及文件夹并读取相应的文件 三.使用Python合并数据 append的使用 一.使用Python进行文件和文件夹的判断 递归 :主要目的就是遍历文件夹和文件 对文件夹和文件进行属性判断 首先对文件夹进行遍历,看文件夹里有什么样的文件,读取出文件夹中的所有文件 import os path= "./data" #路径 files = os.listdir(path) #os.listdir() 方法用
-
Perl实现遍历目录例子
环境为windos,需要注意的两点: 1.默认activePerl下的采用的编码是gbk,所以需要将字符串转为gbk才不会显示乱码 2.遍历文件目录时,需要排除特殊的目录.和.. 完整的代码: 复制代码 代码如下: #!/usr/bin/perl use strict; use warnings; use Encode qw/from_to/; my $path = "e:/CSS Design"; my $filecount = 0; sub parse_env
-
PHP使用glob函数遍历目录或文件夹的方法
本文实例讲述了PHP使用glob函数遍历目录或文件夹的方法.分享给大家供大家参考.具体分析如下: 一说到php遍历目录我们很多朋友会想到是opendir与readdir,这样就可以遍历目录并显示文件,但在php中有一个更简洁的遍历目录的函数glob估计很少有人知道此函数,不过我觉得比起opendir与readdir要简单多了. PHP glob函数的使用:glob-寻找与模式匹配的文件路径. 例子,代码如下: 复制代码 代码如下: <?php $fileList=glob('*.*'); for
随机推荐
- 比较不错的修改FCKEditor的修改方法
- Lua中执行系统命令方法介绍
- python算法演练_One Rule 算法(详解)
- SQL Server 常用函数使用方法小结
- 用vb和vbs 破解flashxp的密码的代码
- Java基于正则实现的日期校验功能示例
- JS解决移动web开发手机输入框弹出的问题
- ASP.NET 页面事件执行顺序介绍
- asp.net得到本机数据库实例的两种方法代码
- php使用unset()删除数组中某个单元(键)的方法
- MySQL数据库管理常用命令小结
- JSP入门之HelloWorld程序实例
- 10个最优秀的Node.js MVC框架
- C++程序检测内存泄漏的方法分享
- jquery创建div 实现代码
- IIS ADMIN不能启动,提示错误代码-2146893818的解决方法
- 窃取QQ中社会工程学的应用实例
- 【Linux】linux常用基本命令总结(推荐)
- java虚拟机运行时数据区分析
- VUE 配置vue-devtools调试工具及安装方法