跟我学习php文件和目录常用函数-上篇

1> bool file_exists(string$filename)

检查文件或目录是否存在

2> int filesize(string$filename)

取得指定文件的大小

3> string filetype(string$filename)

返回文件的类型。

  • 返回值, 可能的值有 fifo,char,dir,block,link,file 和 unknown。
  • 对于windows有'file'、'dir'、或 'unknown'

4> array stat(string$filename)

获取文件的相关信息

  • 返回文件信息说明

数字下标

关联键名

解释

0

dev

设备名

1

ino

号码

2

mode

inode保护模式

3

nlink

被连接数目

4

uid

所有者的用户id

5

gid

所有者的组id

6

rdev

设备类型,如果是inode设备的话

7

size

文件大小的字节数

8

atime

上次访问时间(unix时间戳)

9

mtime

上次修改时间(unix时间戳)

10

ctime

上次改变时间(unix时间戳)

11

blksize

文件系统IO的块大小

12

blocks

所占据块的数目

5> string basename(string$path[,string$suffix] )

从路径中获取文件的基本文件名

  • $suffix, 如果你写了文件名的后缀返回回来的文件名不包含后缀
$path = 'f/a.txt';
echo basename($path,'.txt');//输出: a

6> string dirname(string$path )

返回字符串中的文件夹路径

$path = 'f1/f2/a.txt';
echo dirname($path);//输出: f1/f2

7> mixed pathinfo(string$path[,int$options= PATHINFO_DIRNAME | PATHINFO_BASENAME | PATHINFO_EXTENSION PATHINFO_FILENAME] )

返回路径的关联数组或指定的信息

  • $options, 指定输出路径信息
  • 关联数组信息
$img_info = pathinfo('1.jpg');
print_r( $img_info );
/*
输出:
Array
(
 [dirname] => .  目录路径,点表示当前路径
 [basename] => 1.jpg 带扩展名文件名
 [extension] => jpg 扩展名
 [filename] => 1 文件名
)
*/

8> resource opendir(string$path[,resource$context] )

打开一个目录句柄,可用于之后的closedir()readdir()rewinddir()调用中。

9> string readdir([resource$dir_handle] )

返回目录中下一个文件的文件名。文件名以在文件系统中的排序返回。

  • $dir_handle, 使用opendir函数返回的目录句柄

10> int filemtime(string$filename )

获取文件最后修改时间戳


简单综合实例

  • 输出指定目录下的所有文件信息
header('content-type: text/html;charset=utf-8;');
$path = 'folder'; //目录路径
$dir_handle = opendir($path);//打开目录
echo '<table border="1"> <tr>
<th>文件名</th><th>类型</th><th>大小</th><th>修改时间</th>
</tr>';
//循环获取目录下的文件
while($filename = readdir($dir_handle)){  
    $filepath = $path.'/'.$filename;//文件的具体路径   
    //只获取文件类型   
    if( ($filetype = filetype($filepath) ) == 'file'){  
        $filesize = filesize($filepath); //文件大小
        $filemtime = date("Y/n/t", filemtime($filepath) ); //最后修改时间      
    //以表格形式输出 
    echo "<tr>
        <td>{$filename}</td><td>{$filetype}</td><td>{$filesize}</td><td>{$filemtime}</td>       
            </tr> ";    
    }
}
echo '</table>';
  • 运行结果

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏伟大程序猿的诞生

现有Android项目引入ReactNative--九步大法

为什么写这篇文章,因为很多时候我们是需要在原Android工程中添加ReactNative,而不是直接react-native init hello来创建工程,...

24220
来自专栏流川疯编写程序的艺术

leetcode 104 Maximum Depth of Binary Tree二叉树求深度

Maximum Depth of Binary Tree Total Accepted: 63668 Total Submissions: 141121 ...

8020
来自专栏伟大程序猿的诞生

【React Native 安卓开发】----(mac下开发环境配置)【第一篇】

Android Studio安装相信大家都会就忽落了。 SDK配置详见博客: http://blog.csdn.net/github_33304260/...

26530
来自专栏伟大程序猿的诞生

快应用开发教程【01】--环境与调试

⚠:安装6.0以上版本的NodeJS,推荐v6.11.3。不要使用8.0.*版本.这个版本内部ZipStream实现与node-archive包不兼容,会引起报...

18830
来自专栏大数据实战演练

Elasticsearch集群监控指标

“本片主要通过两个API讲解Elasticsearch集群监控的指标说明”

47410
来自专栏前端学习归纳总结

React Fiber源码分析 第一篇

先由babel编译, 调用reactDOM.render,入参为element, container, callback, 打印出来可以看到element,co...

15620
来自专栏指点的专栏

Android多线程的使用

在很多编程语言中,线程都是一个重要的组成部分,多线程的支持可以给程序员更加灵活的程序功能实现代码编写方式,线程一般用于处理一些比较耗时的任务(下载文件、复制或者...

23520
来自专栏前端学习归纳总结

zepto中的属性设置

在分析这里的时候,一直很困惑,为什么实例化dom之后,对nodes进行属性设置会导致dom也有了属性设置的结果。回想了一下,在javascript中,对象是引用...

9220
来自专栏业余草

Koa框架教程,Koa框架开发指南,Koa框架中文使用手册,Koa框架中文文档

koa 是由 Express 原班人马打造的,致力于成为一个更小、更富有表现力、更健壮的 Web 框架。使用 koa 编写 web 应用,通过组合不同的 ge...

10830
来自专栏Vi的技术博客

Java基础系列(四十八):集合之HashMap

说起HashMap,大家肯定都不会陌生,我们用的最多的大概就是这个容器类来存储k-v数据,正如它的名字所说的那样,它是基于散列表实现的,散列表的强大之处在于查找...

11420

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励