笔记
补充1(文件的属性)
补充2(文件常用函数)
补充3(文件其他函数,目录解析)

案例
文件的系统概述
文件类型
文件的属性
目录的基本操作
文件路径
遍历目录
统计目录大小
建立与删除目录
复制与移动目录
文件的打开与关闭
写入文件
读取文件内容
文件的一些基本操作函数
补充1(文件的属性)
filetype() 函数
filetype(file) 函数返回指定文件或目录的类型。
如果成功,该函数返回 7 种可能的值之一。如果失败,则返回 FALSE。
可能的返回值:
- fifo
- char
- dir
- block
- link
- file
- unknown
filesize() 函数
filesize() 函数返回指定文件的大小。
如果成功,该函数返回文件大小的字节数。如果失败,则返回 FALSE。
filectime() 函数
filectime() 函数返回指定文件的上次修改时间。
该函数将检查文件的日常修改情况和 inode 修改情况。inode 修改情况是指:权限的修改、所有者的修改、用户组的修改或其他元数据的修改。
如果成功,该函数将以 Unix 时间戳形式返回文件的上次修改时间。如果失败,则返回 FALSE。
提示:请使用 filemtime() 函数来返回文件内容最后被修改的时间。
fileatime() 函数
fileatime() 函数返回指定文件的上次访问时间。
如果成功,该函数将以 Unix 时间戳形式返回文件的上次访问时间。如果失败,则返回 FALSE。
filemtime() 函数
filemtime() 函数返回文件内容的上次修改时间。
如果成功,该函数将以 Unix 时间戳形式返回文件内容的上次修改时间。如果失败,则返回 FALSE。
is_readable() 函数
is_readable(file) 函数检查指定的文件是否可读。
如果文件可读,该函数返回 TRUE。
is_writable() 函数
is_writable(file) 函数检查指定的文件是否可写。
如果文件可写,该函数返回 TRUE。
fileperms() 函数
fileperms() 函数返回文件或目录的权限。
如果成功,该函数以数字形式返回权限。如果失败,则返回 FALSE。
stat() 函数
stat() 函数返回关于文件的信息。
该函数将返回一个包含下列元素的数组:
- [0] 或 [dev] - 设备编号
- [1] 或 [ino] - inode 编号
- [2] 或 [mode] - inode 保护模式
- [3] 或 [nlink] - 连接数目
- [4] 或 [uid] - 所有者的用户 ID
- [5] 或 [gid] - 所有者的组 ID
- [6] 或 [rdev] - inode 设备类型
- [7] 或 [size] - 文件大小的字节数
- [8] 或 [atime] - 上次访问时间(Unix 时间戳)
- [9] 或 [mtime] - 上次修改时间(Unix 时间戳)
- [10] 或 [ctime] - 上次 inode 改变时间(Unix 时间戳)
- [11] 或 [blksize] - 文件系统 IO 的块大小(如果支持)
- [12] 或 [blocks] - 所占据块的数目
作业
补充2(文件常用函数)
fopen() 函数
fopen() 函数打开一个文件或 URL。
如果 fopen() 失败,它将返回 FALSE 并附带错误信息。您可以通过在函数名前面添加一个 ‘@’ 来隐藏错误输出。
语法:fopen(filename,mode,include_path,context)
参数 | 描述 |
---|---|
filename | 必需。规定要打开的文件或 URL。 |
mode | 必需。规定您请求到该文件/流的访问类型。 可能的值: - “r” (只读方式打开,将文件指针指向文件头) - “r+” (读写方式打开,将文件指针指向文件头) - “w” (写入方式打开,清除文件内容,如果文件不存在则尝试创建之) - “w+” (读写方式打开,清除文件内容,如果文件不存在则尝试创建之) - “a” (写入方式打开,将文件指针指向文件末尾进行写入,如果文件不存在则尝试创建之) - “a+” (读写方式打开,通过将文件指针指向文件末尾进行写入来保存文件内容) - “x” (创建一个新的文件并以写入方式打开,如果文件已存在则返回 FALSE 和一个错误) - “x+” (创建一个新的文件并以读写方式打开,如果文件已存在则返回 FALSE 和一个错误) |
include_path | 可选。如果您还想在 include_path(在 php.ini 中)中搜索文件的话,请设置该参数为 ‘1’。 |
context | 可选。规定文件句柄的环境。context 是一套可以修改流的行为的选项。 |
fwrite() 函数
fwrite() 函数将内容写入一个打开的文件中。
函数会在到达指定长度或读到文件末尾(EOF)时(以先到者为准),停止运行。
如果函数成功执行,则返回写入的字节数。如果失败,则返回 FALSE。
语法:fwrite(file,string,length)
参数 | 描述 |
---|---|
file | 必需。规定要写入的打开文件。 |
string | 必需。规定要写入打开文件的字符串。 |
length | 可选。规定要写入的最大字节数。 |
fclose() 函数
fclose() 函数关闭打开的文件。
该函数如果成功则返回 TRUE,如果失败则返回 FALSE。
serialize() 函数
serialize() 函数用于序列化对象或数组,并返回一个字符串。
serialize() 函数序列化对象后,可以很方便的将它传递给其他需要它的地方,且其类型和结构不会改变。
如果想要将已序列化的字符串变回 PHP 的值,可使用 unserialize()。
PHP 版本要求: PHP 4, PHP 5, PHP 7
语法:string serialize ( mixed $value )
参数说明:$value: 要序列化的对象或数组。
返回值:返回一个字符串。
fgetc() 函数
fgets() 函数
fgets() 函数从打开的文件中返回一行。
fgets() 函数会在到达指定长度( length - 1 )、碰到换行符、读到文件末尾(EOF)时(以先到者为准),停止返回一个新行。
如果失败该函数返回 FALSE。
语法:fgets(file,length)
参数 | 描述 |
---|---|
file | 必需。规定要读取的文件。 |
length | 可选。规定要读取的字节数。默认是 1024 字节。 |
fgetss() 函数
fgetss() 函数从打开的文件中返回一行,并过滤掉 HTML 和 PHP 标签。
fgetss() 函数会在到达指定长度或读到文件末尾(EOF)时(以先到者为准),停止返回一个新行。
如果失败该函数返回 FALSE。
语法:fgetss(file,length,tags)
参数 | 描述 |
---|---|
file | 必需。规定要检查的文件。 |
length | 可选。规定要读取的字节数。默认是 1024 字节。 注意:该参数在 PHP 5 之前的版本是必需的。 |
tags | 可选。指定哪些标记不被去掉。 |
fgetcsv() 函数
fgetcsv() 函数从打开的文件中解析一行,校验 CSV 字段。
fgetcsv() 函数会在到达指定长度或读到文件末尾(EOF)时(以先到者为准),停止返回一个新行。
该函数如果成功则以数组形式返回 CSV 字段,如果失败或者到达文件末尾(EOF)则返回 FALSE。
语法:getcsv(file,length,separator,enclosure)
参数 | 描述 |
---|---|
file | 必需。规定要检查的文件。 |
length | 可选。规定行的最大长度。必须大于 CSV 文件内最长的一行。如果忽略该参数(或者设置为 0),那么行长度就没有限制,不过可能会影响执行效率。 注意:该参数在 PHP 5 之前的版本是必需的。 |
separator | 可选。设置字段分界符(只允许一个字符),默认值为逗号( , )。 |
enclosure | 可选。设置字段环绕符(只允许一个字符),默认值为双引号( “ )。 |
file() 函数
file() 函数把整个文件读入一个数组中。
数组中的每个元素都是文件中相应的一行,包括换行符在内。
语法:file(path,include_path,context)
参数 | 描述 |
---|---|
path | 必需。规定要读取的文件。 |
include_path | 可选。如果您还想在 include_path(在 php.ini 中)中搜索文件的话,请设置该参数为 ‘1’。 |
context | 可选。规定文件句柄的环境。context 是一套可以修改流的行为的选项。若使用 NULL,则忽略。 |
file_get_contents() 函数
file_get_contents() 把整个文件读入一个字符串中。
该函数是用于把文件的内容读入到一个字符串中的首选方法。如果服务器操作系统支持,还会使用内存映射技术来增强性能。
语法:file_get_contents(path,include_path,context,start,max_length)
参数 | 描述 |
---|---|
path | 必需。规定要读取的文件。 |
include_path | 可选。如果您还想在 include_path(在 php.ini 中)中搜索文件的话,请设置该参数为 ‘1’。 |
context | 可选。规定文件句柄的环境。context 是一套可以修改流的行为的选项。若使用 NULL,则忽略。 |
start | 可选。规定在文件中开始读取的位置。该参数是 PHP 5.1 中新增的。 |
max_length | 可选。规定读取的字节数。该参数是 PHP 5.1 中新增的。 |
nl2br() 函数
nl2br() 函数在字符串中的每个新行(\n)之前插入 HTML 换行符(
或
)
语法:nl2br(string,xhtml)
参数 | 描述 |
---|---|
string | 必需。规定要检查的字符串。 |
xhtml | 可选。一个表示是否使用兼容 XHTML 换行的布尔值: - TRUE- 默认。插入 - FALSE - 插入 |
作业
补充3(文件其他函数,目录解析)
作业
补充4
作业
章节测验
- 列举常用的文件处理函数,分别返回什么数据类型?
$file = “a.txt”;// 对文件操作
$fp = fopen($file, ‘a+’); // 资源类型
$fd = fread($fp, 10); // 字符串
$fw = fwrite($fp, ‘国家宁’); // 整型(写入的长度)
2. $_FILES是几维数组?第一维和第二维的索引下标分别是什么?
二维数组。第一维是上传控件的name,二维下标分别为name/type/tmp_name/size/error.实训
<?php
function myscandir($dir)
{
$files=array();
if (@$handle = opendir($dir)) {
while (($file = readdir($handle)) != false) {
if ($file != “.” && $file != “..”) {
$newdir=$dir.”/“.$file;
if (is_dir($newdir)) {
$files[$file] = myscandir($newdir);
}else{
$files[] = $file;
}
}
}
closedir($handle);
return $files;
}
}
echo “- “;
print_r(myscandir(“.”));
?>
- “;