一:简介
在任何计算机设备中php 获取目录下文件名,文件都是必不可少的对象,而在web编程中,文件的操作一直是web程序员头疼的问题。文件的操作在cms系统中是必须的,非常好用,我们经常会遇到生成文件目录,文件(文件夹)编辑等操作,下面我将php中的这些功能做一个详细的总结,并演示如何将它们与示例一起使用。对应功能的详细介绍可以参考php手册,这里只总结重点。和注意的地方。
二:目录操作
首先介绍的是一个从目录中读取的函数,()、()、(),使用时先打开文件句柄,然后迭代列出:
引用如下:
这是返回文件目录下的文件目录的程序(0文件会返回false)。
有时需要知道目录的信息,可以使用($path)和($path)分别返回路径的目录部分和文件名部分,使用($path)返回查看空闲空间的空间。
创建命令:
mkdir($path, 0777), 0777 为权限码,非必要条件下可通过umask()函数设置。
rmdir($path) 将删除路径在 $path 中的文件。
Dir——类也是操作文件目录的重要类。有 3 种方法,读取和关闭。这是一个面向对象的类。它首先使用打开的文件句柄,然后通过指针读取它。这里见php手册:
引用如下:
输出:
: 编号 #2
路径:/etc/php5
.
..
cgi
cli
文件的属性也很重要,文件属性包括创建时间、最后修改时间、所有者、文件组、类型、大小等。
下面我们重点介绍文件操作。
三:文件操作
●读取文件
首先是看一个文件是否可以被读取(权限问题),或者如果它存在,我们可以使用函数来获取信息:
引用如下:
还有判断文件是否存在的功能(如下图),但这显然不够全面。当文件存在时php 获取目录下文件名,可以使用
引用如下:
但是低版本不支持该功能,可以先创建文件句柄,然后使用指针读取全部:
$fso = fopen($, ‘r’);
$data = fread($fso, ($));
($fso);
还有另一种读取二进制文件的方法:
$data = (”, 文件($file));
●写入文件
和读文件一样,先看看能不能写:
引用如下:
如果能写,可以用函数写:
引用如下:
php5新引入的功能(如果不知道存在,先用功能判断)低版本的php无法使用,可以使用以下方法:
$f = fopen($file, ‘w’);
($f, $数据);
($f);
代替它。
有时候写文件的时候需要加锁,然后写:
引用如下:
($, $){
if(!$fso=fopen($,’w’)){
$this->warns(‘无法打开缓存文件。’);//
错误的;
}
if(!flock($fso,)){//,排他锁
$this->warns(‘无法锁定缓存文件。’);//
错误的;
}
if(!($fso, $)){//写字节流,写其他格式
$this->warns(‘无法写入缓存文件。’);//
错误的;
}
flock($fso,);//释放锁
($fso);
真的;
}
●复制、删除文件
php中删除文件非常方便,用函数操作也很简单:
引用如下:
而已。
复制文件也很容易:
引用如下:
可以使用 () 函数重命名文件夹。通过组合这些功能可以实现其他操作。
●获取文件属性
我说几个常用的功能:
获取最后修改时间:
引用如下:
返回的时间戳讲的是unix,缓存技术中常用的。
相关还获取最后一次访问时间(),()当文件的权限、所有者、所有组或其他inode中的元数据更新时,()函数返回文件所有者$owner = (($file)); (非系统), () 获取文件的权限,
引用如下:
() 以字节为单位返回文件大小:
要获取文件的所有信息,有一个函数 stat() 函数,它返回一个数组:
引用如下:
该key对应的详细信息可以参考,这里不再展开。
四:结论
上面我简单总结了几个文件操作。如果您精通上面列出的功能,那么当您已经在操作它们时没有什么大问题。php文件操作的功能变化很快,现在已经很强大了。这部分文件也是学习php很重要的部分,希望不要忽略。
文章来源:https://www.chinaz.com/program/2007/0920/16632.shtml