PHP使用文件和目录
1.使用include()包含文件
(1):使用include()从一个被包含文档返回一个值
(2):在控制结构中使用include()
include_once()函数需要一个包含文件的路径,此外,第一次调用它的情况和include()一样,如果在脚本执行中再次对同一个文件调用,那么这个文件不会再次包含。
在php.ini文件中设置include_path命令,如:include_path .;/home/user/bob/htdocs/project4/lib/
include_path的值可以包含任意多的目录,中间用分号隔开(Windows系统)。include_path指令中的项目顺序决定了查找指定文件的目录的顺序。第一个分号前的第一个(.)表示“当前目录”,并且应该给出。这样,include()或include_once()中使用的任何路径都是相对与include_path的值。
PHP也有一个require()函数,它执行和include()类似的功能,另外还有一个require_once()函数。不管脚本的流程如何,require()带入到代码中的一切内容都会执行,因此,不应该将其用作条件或循环结构的一部分。另外要注意,作为一条require()语句的结果所包含的文件,不能返回一个值。
2.验证文件
使用file_exists()检查存在性
文件还是目录?is_file(),is_dir()
检查一个文件的状态
is_readable() 是否可以读取一个文件
is_writable() 是否可以写入到这个文件
is_executable() 是否可以根据给定文件的许可或者其扩展名,在你的特定平台来执行它。
使用filesize()确定文件的大小,以字节为单位。
使用fileatime()函数来获取一个文件的最后访问时间。
使用filemtime()函数来获得一个文件的修改日期。
filectime()函数测试一个文件的修改时间。在UNIX系统上,当一个文件的内容被修改或者当其许可权限或所有者发生变化的时候,就设置修改日期。在其他平台上,返回文件的
创建日期。
3.创建并删除文件
如果一个文件还不存在,touch()函数创建。如果这个文件存在,其内容不会被打乱,但是修改日期将会更新,以反映出该函数的执行时间。
使用unlink()函数删除一个已有的函数。
4.打开一个文件供写入,读取或添加(添加内容,即在文件末尾添加数据)。
$fp=fopen("test.txt","r");
$fp=fopen("test.txt","w");
$fp=fopen("test.txt","a");
对由于许多原因导致无法打开文件异常进行处理
if($fp=fopen("test.txt","w")){
//do something with the $fp resource
}
或者:
($fp=fopen("test.txt","w")) or die("Couldn't open file,sorry");
关闭文件:fclose($fp)。
5.读取文件:
使用fgets()和feof()来从一个文件读取行。
fgets()函数读取文件,直到它遇到一个换行字符(“\\n”),或者达到长度参数中指定的字节数,或者是到达文件的末尾,不管它先遇到哪一个。
feof(),当到达了文件的末尾的时候,该函数返回true,否则返回false。
使用fread()函数从文件读取任意数量的数据。
fseek()函数允许我们在一个文件中修改当前的位置。它需要一个文件源以及一个整数作为参数,这个整数表示从文件的开始跳过的偏移量(字节数)。
使用fgetc()函数从文件读取字符。
6.写入文件或向文件添加内容
$fp=fopen("test.txt","w");
所有后续的写入都发生在文件的开头处。如果这个文件还不存在,就创建它。如果这个文件已经存在,之前的所有内容都销毁并且由你写入的数据替代。
$fp=fopen("test.txt","a");
所有后续的写入文件的内容都将添加到现有内容的末尾,但是,如果你试图向一个不存在的文件添加内容,会先创建这个文件。
使用fwrite()或fputs()写入文件
fwrite()函数接受一个文件源和一个字符串,然后把字符串写入文件中。fputs()函数也以相同的方式工作。
7.锁定文件,防止多个用户对同一个文件同时进行写入操作,导致这个文件被毁坏。
使用flock()锁定文件,flock()函数需要一个来自打开的文件的有效文件源以及一个整数,这个整数表示你想要设置的锁定的种类。
flock()函数的整数参数
——————————————————————————————————————————————————
常量 整数 锁定类型说明
——————————————————————————————————————————————————
LOCK_SH 1 共享允许其他进程读取文件但是阻止写入(在读取一个文件的时候使用)
LOCK_EX 2 独占阻止其他进程读取文件或者写入文件(在写入一个文件时使用)
LOCK_UN 3 释放一个共享锁定或独占锁定
——————————————————————————————————————————————————
我们应该在调用fopen()之后直接调用flock(),然后,在关闭一个文件之前再次调用它来释放锁定。
8.使用目录
使用mkdir()创建目录。mkdir()函数需要一个字符串和一个八进制整数。字符串表示到我们想要创建的目录的路径,整数表示我们想要为目录设置的模式。模式参数
只在UNIX系统下有效。
使用rmdir()删除一个目录
如果运行脚本的进程有权利这么做,并且目录为空的话,rmdir()函数允许我们从文件系统删除一个目录。
使用opendir()打开一个目录以供读取
$dh=opendir("testdir");$dh就是打开目录的目录句柄。
使用readdir()从一个目录读取内容
readdir()函数需要一个目录句柄并且返回包含了项目名的一个字符串。如果到达了目录的末尾,readdir()返回false。只返回其项目的名字,而不是完整的路径。
9.使用popen()打开到进程和离开进程的管道
$file_pointer=popen("some command",mode)
模式可以是r(读取)或w(写入)。
10.使用exec()运行命令
exec()函数是我们可以用来向shell传送命令的几个函数之一。exec()函数需要一个字符串并且可选地接受一个数组变量和一个标量变量,字符串表示要运行的命令的路径,数组变量将会包含命令的输出,标量变量将包含返回值(1或0)。我们可以直接使用exec()来访问已有的脚本并利用其功能。调用一个外部应用程序总是会增加脚本的负担,无论从时间上还是从内存使用上都是如此。
使用system()或passthru()运行命令
system()函数和exec()函数类似,因为它们都启动一个外部应用程序,并且它使用一个标量变量来存储返回值:
system("/path/to/somecommand",$return_val);
system()函数和exec()函数的不同在于,它直接向浏览器输出信息,而没有编程的干预。类似地,passthru()函数的语法和system()函数相同,但行为不同。使用passthru()的时候,shell命令的任何输出在返回给你的过程中不会缓存,这适用于运行产生二进制数据而不是简单的文本数据的命令。一个例子就是使用shell工具来定位一个图像并且将其发送回浏览器。
相关推荐
php 文件目录操作类php 文件目录操作类php 文件目录操作类php 文件目录操作类php 文件目录操作类php 文件目录操作类php 文件目录操作类
通过本php文件,在进行相关设置后,您可以方便的看到共享目录中的文件,以及相应的说明,便于能够迅速找到自己想要的文件。 找到想要的东西后,直接点击文件夹名打开共享文件夹。 使用方法: 1: 将index.php...
1.遍历当前及其子目录中的所有文件,文件放到http/down的目录...2.下载的代码fileDownProcess.php文件中除了echo $file_data;其他不能有echo。这点很重要,否则下载下来的文件无法使用。 3.不支持中文名称的文件下载。
生成excel函数php类库生成excel文件到指定目录的函数php类库
PHP上传文件到指定目录 源代码PHP上传文件到指定目录 源代码PHP上传文件到指定目录 源代码PHP上传文件到指定目录 源代码
分享一个php遍历目录和文件列表的类,获取目录列表,获取文件列表,根据相对路径和绝对路径进行实例操作。
php文件上传服务器指定目录封装类及实例(上传、删除、移动)
php快速删除目录及目录中的文件,比ftp还要快 只需要配置 1.要删除的目录 2.过滤的文件及目录 免费下载地址 http://www.ctdisk.com/file/1117463
php打包压缩文件夹和子目录代码。传到根目录就可以直接使用,超级简单,非常实用。
php文件操作类,进行 新建/删除/写入/查找目录文件/删除文件&目录等一系列的操作,功能强大!
通过php代码实现,用于浏览文件及目录!并且可以查看个别类型的文件。
PHP列出当前目录下所有文件大小及链接 $num=0; //用来记录目录下的文件个数 $dirname='./'; //要遍历的目录名字 ...text-align:center">在<b>'.$dirname.'目录下的子目录和文件共有<b>'.$num.'个 占空间';
仿苹果风格的PHP目录直读文件系统,其实称不上系统,所谓的“苹果风格”实际上是一张背景图片,程序仅完成读取文件及目录的作用,如果指定目录下有文件,程序会连续读取,有多少级目录就读多少级,可自动识别文本、...
一个php文件目录操作类。测试建立文件夹,测试复制文件夹,测试移动文件夹,测试删除文件夹。
通过php的目录和文件相关函数实现某目录下的文件管理
PHP生成压缩文,不带要压缩文件的根目录,去掉根目录,有时可能需要这样
一个php遍历目录和文件列表的类,获取目录列表,获取文件列表,根据相对路径和绝对路径进行实例操作。
第9章PHP文件和目录系统
遍历目录及子目录中的所有文件,并按级别输出到IE。
实现列出当前目录,文件上传下载,删除,编辑等功能