找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 281|回复: 0
打印 上一主题 下一主题

第六章 php目录与文件操作

[复制链接]

2560

主题

2560

帖子

7622

积分

论坛元老

Rank: 8Rank: 8

积分
7622
跳转到指定楼层
楼主
发表于 2018-2-14 08:31:47 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

            一.目录操作
basename -- 返回路径中的文件名部分
dirname -- 返回路径中的目录部分
pathinfo -- 返回文件路径的信息
realpath -- 返回规范化的绝对路径名
[U]复制代码[/U] 代码如下:


Output:
demo1.php
D:\AppServ\www\Basic6
basename : demo1.php
dirname : D:\AppServ\www\Basic6
extension : php
filename : demo1
二.磁盘、目录和文件计数
1.查看文件大小和磁盘空间
filesize -- 取得文件大小
disk_free_space -- 返回目录中的可用空间
disk_total_space -- 返回一个目录的磁盘总大小
[U]复制代码[/U] 代码如下:


output
0.26kb
10.61GB
30.01GB
2.获得文件的各种时间
fileatime -- 取得文件的上次访问时间
filectime -- 取得文件的 inode 修改时间
filemtime -- 取得文件修改时间
[U]复制代码[/U] 代码如下:


output
lastest accessing time : 2011-12-18 04:26:49
lastest change time : 2011-12-18 04:26:49
lastest modify time : 2011-12-18 04:29:15
三.文件处理
文件读写的两种方式:
1.php所有版本都支持的方法:
fopen -- 打开文件或者 URL
fclose -- 关闭一个已打开的文件指针
fwrite -- 写入文件(可安全用于二进制文件)
表 1. fopen() 中 mode 的可能值列表
[TR]
[TD]
mode
[/TD]
[TD]
说明
[/TD][/TR]
[TR]
[TD]
'r'
[/TD]
[TD]
只读方式打开,将文件指针指向文件头。
[/TD][/TR]
[TR]
[TD]
'r+'
[/TD]
[TD]
读写方式打开,将文件指针指向文件头。
[/TD][/TR]
[TR]
[TD]
'w'
[/TD]
[TD]
写入方式打开,将文件指针指向文件头并将文件大小截为零。如果文件不存在则尝试创建之。
[/TD][/TR]
[TR]
[TD]
'w+'
[/TD]
[TD]
读写方式打开,将文件指针指向文件头并将文件大小截为零。如果文件不存在则尝试创建之。
[/TD][/TR]
[TR]
[TD]
'a'
[/TD]
[TD]
写入方式打开,将文件指针指向文件末尾。如果文件不存在则尝试创建之。
[/TD][/TR]
[TR]
[TD]
'a+'
[/TD]
[TD]
读写方式打开,将文件指针指向文件末尾。如果文件不存在则尝试创建之。
[/TD][/TR]
[TR]
[TD]
'x'
[/TD]
[TD]
创建并以写入方式打开,将文件指针指向文件头。如果文件已存在,则 fopen() 调用失败并返回 FALSE,并生成一条 E_WARNING 级别的错误信息。如果文件不存在则尝试创建之。这和给 底层的 open(2) 系统调用指定 O_EXCLO_CREAT 标记是等价的。此选项被 PHP 4.3.2 以及以后的版本所支持,仅能用于本地文件。
[/TD][/TR]
[TR]
[TD]
'x+'
[/TD]
[TD]
创建并以读写方式打开,将文件指针指向文件头。如果文件已存在,则 fopen() 调用失败并返回 FALSE,并生成一条 E_WARNING 级别的错误信息。如果文件不存在则尝试创建之。这和给 底层的 open(2) 系统调用指定 O_EXCLO_CREAT 标记是等价的。此选项被 PHP 4.3.2 以及以后的版本所支持,仅能用于本地文件。
[/TD][/TR]
[U]复制代码[/U] 代码如下:


output
my name is anllin,
my age is 29.
2.php5新加入的方法
file_put_contents -- 将一个字符串写入文件
[U]复制代码[/U] 代码如下:


output
my name is anllin,
my age is 29.
读出文件内容的方法:
[TR]
[TD]
函数
[/TD]
[TD]
功能
[/TD][/TR]
[TR]
[TD]
Fgetc()
[/TD]
[TD]
读出一个字符,并将指针移到下一个字符
[/TD][/TR]
[TR]
[TD]
Fgets()
[/TD]
[TD]
读出一行字符,可以指定一行显示的长度。
[/TD][/TR]
[TR]
[TD]
Fgetss()
[/TD]
[TD]
从文件指针中读取一行并过滤掉HTML标记
[/TD][/TR]
[TR]
[TD]
Fread()
[/TD]
[TD]
读取定量的字符
[/TD][/TR]
[TR]
[TD]
Fpassthru()
[/TD]
[TD]
输出文件到指定处的所有剩余数据
[/TD][/TR]
[TR]
[TD]
File()
[/TD]
[TD]
将整个文件读入数组中,以行分组
[/TD][/TR]
[TR]
[TD]
Readfile()
[/TD]
[TD]
读入一个文件并写入到输出缓冲
[/TD][/TR]
[TR]
[TD]
File_get_contents()
[/TD]
[TD]
将整个文件读入一个字符串
[/TD][/TR]
[TR]
[TD]
Feof()
[/TD]
[TD]
判断读完文件函数
[/TD][/TR]
[TR]
[TD]
File_exists()
[/TD]
[TD]
查看文件是否存在
[/TD][/TR]
示例文件file1.txt的内容如下:
my name is anllin,
my age is 29.
fgetc -- 从文件指针中读取字符
Demo.php
[U]复制代码[/U] 代码如下:


Output:
my
fgets -- 从文件指针中读取一行
[U]复制代码[/U] 代码如下:


output
my name is anllin, my age is 29.
fgetss -- 从文件指针中读取一行并过滤掉 HTML 标记
[U]复制代码[/U] 代码如下:


Output
my name is anllin
fread -- 读取文件(可安全用于二进制文件)
[U]复制代码[/U] 代码如下:


Output
my name is anllin, my age is 29.
fpassthru -- 输出文件指针处的所有剩余数据
[U]复制代码[/U] 代码如下:


output
my name is anllin, my age is 29. 33
file -- 把整个文件读入一个数组中
[U]复制代码[/U] 代码如下:
$line)
{
echo $line_num.' : '.$line.'
';
}
?>

output
0 : my name is anllin,
1 : my age is 29.
readfile -- 输出一个文件
[U]复制代码[/U] 代码如下:


output
my name is anllin, my age is 29.33
file_get_contents -- 将整个文件读入一个字符串(php5.0新增)
[U]复制代码[/U] 代码如下:


output
my name is anllin, my age is 29.
feof -- 测试文件指针是否到了文件结束的位置
[U]复制代码[/U] 代码如下:


output
my name is anllin, my age is 29.
file_exists -- 检查文件或目录是否存在
[U]复制代码[/U] 代码如下:



output
执行文件读写操作
filesize -- 取得文件大小
[U]复制代码[/U] 代码如下:


output
33
unlink -- 删除文件
[U]复制代码[/U] 代码如下:


output
1
rewind -- 倒回文件指针的位置
ftell -- 返回文件指针读/写的位置
fseek -- 在文件指针中定位
[U]复制代码[/U] 代码如下:


output
2
0
2
0
Flock的操作值
[TR]
[TD]
操作值
[/TD]
[TD]
意义
[/TD][/TR]
[TR]
[TD]
LOCK_SH(以前为1)
[/TD]
[TD]
读写锁定。这意味着文件可以共享,其他人可以读该文件
[/TD][/TR]
[TR]
[TD]
LOCK_EX(以前为2)
[/TD]
[TD]
写操作锁定。这是互斥的,该文件不能被共享
[/TD][/TR]
[TR]
[TD]
LOCK_UN(以前为3)
[/TD]
[TD]
释放已有的锁定
[/TD][/TR]
[TR]
[TD]
LOCK_NB(以前为4)
[/TD]
[TD]
防止在请求加锁时发生阻塞
[/TD][/TR]
flock -- 轻便的咨询文件锁定
[U]复制代码[/U] 代码如下:


output
my name is anllin, my age is 29.
目录句柄操作
opendir -- 打开目录句柄
readdir -- 从目录句柄中读取条目
closedir -- 关闭目录句柄
[U]复制代码[/U] 代码如下:


output
.
..
.buildpath
.project
.settings
demo1.php
demo10.php
demo11.php
demo12.php
demo13.php
demo14.php
demo15.php
demo16.php
demo17.php
demo18.php
demo19.php
demo2.php
demo20.php
demo3.php
demo4.php
demo5.php
demo6.php
demo7.php
demo8.php
demo9.php
file1.txt
file2.txt
scandir -- 列出指定路径中的文件和目录
[U]复制代码[/U] 代码如下:


output
.
..
.buildpath
.project
.settings
demo1.php
demo10.php
demo11.php
demo12.php
demo13.php
demo14.php
demo15.php
demo16.php
demo17.php
demo18.php
demo19.php
demo2.php
demo20.php
demo21.php
demo3.php
demo4.php
demo5.php
demo6.php
demo7.php
demo8.php
demo9.php
file1.txt
file2.txt
rename -- 重命名一个文件或目录
[U]复制代码[/U] 代码如下:


output
file rename success
rmdir -- 删除目录
[U]复制代码[/U] 代码如下:


output
delete file success
            
            
您可能感兴趣的文章:
  • php中目录,文件操作详谈
  • php xml文件操作代码(一)
  • PHP文件操作实现代码分享
  • php文件操作实例代码
  • php中配置文件操作 如config.php文件的读取修改等操作
  • PHP常用的文件操作函数经典收藏
  • 基于php常用函数总结(数组,字符串,时间,文件操作)
  • PHP打开和关闭文件操作函数总结
  • PHP SPL标准库之文件操作(SplFileInfo和SplFileObject)实例
  • PHP文件操作详解
            
  • 分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    用户反馈
    客户端