<html>
PHP中对文件的操作:创建、读取、上传、编辑。 PHP提过了多种相关的函数。
1、readfile()
int readfile ( string $filename [, bool $use_include_path = false [, resource $context ]] )
參数:
- filename:文件名称。
- use_include_path:是否也在include_path中搜索文件。
- context:规定文件句柄的环境。Context 是能够改动流的行为的一套选项。
返回值:返回从文件里读入的字节数。假设出错返回 FALSE 而且除非是以 @readfile() 形式调用。否则会显示错误信息。
演示样例:
1.php和new.txt在同一个目录
1.php内容:
<?php
echo @readfile("new.txt");
?
>
new.txt内容:
It's a new file.
执行1.php结果:
It's a new file.16
2、fopen()
resource fopen ( string $filename , string $mode [, bool $use_include_path = false [, resource $context ]] )
參数:
- filename:假设 filename 是 “scheme://…” 的格式,则被当成一个 URL,PHP 将搜索协议处理器(也被称为封装协议)来处理此模式。假设该协议尚未注冊封装协议,PHP 将发出一条消息来帮助检查脚本中潜在的问题并将 filename 当成一个普通的文件名称继续执行下去。
;
- mode:指定了所要求到该流的訪问类型。
- use_include_path:是否也在include_path中搜索文件;
- context:规定文件句柄的环境。
Context 是能够改动流的行为的一套选项。
返回值:
成功时返回文件指针资源,假设打开失败,本函数返回 FALSE。
注:文件訪问类型表
mode | 说明 |
---|---|
“r” | 仅仅读方式打开,将文件指针指向文件头。 |
“r+” | 读写方式打开。将文件指针指向文件头。 |
“w” | 写入方式打开。将文件指针指向文件头并将文件大小截为零。假设文件不存在则尝试创建之。 |
“w+” | 读写方式打开,将文件指针指向文件头并将文件大小截为零。 假设文件不存在则尝试创建之。 |
“a” | 写入方式打开,将文件指针指向文件末尾。假设文件不存在则尝试创建之。 |
“a+” | 读写方式打开,将文件指针指向文件末尾。假设文件不存在则尝试创建之。 |
“x” | 创建并以写入方式打开。将文件指针指向文件头。假设文件已存在。则 fopen() 调用失败并返回 FALSE,并生成一条 E_WARNING 级别的错误信息。假设文件不存在则尝试创建之。这和给底层的 open(2) 系统调用指定 O_EXCL |
“x+” | 创建并以读写方式打开,将文件指针指向文件头。假设文件已存在,则 fopen() 调用失败并返回 FALSE,并生成一条 E_WARNING 级别的错误信息。假设文件不存在则尝试创建之。 这和给底层的 open(2) 系统调用指定 O_EXCL |
3、fread()
string fread ( resource $handle , int $length )
从文件指针 handle 读取最多 length 个字节
參数:
- head:文件系统指针,是典型地由 fopen() 创建的 resource(资源)。
- length:最多读取 length 个字节。
返回值:
返回所读取的字符串。 或者在失败时返回 FALSE。
4、fclose()
bool fclose ( resource $handle )
将指定文件关闭(好习惯,降低server资源占用)。文件指针必须有效。而且是通过 fopen() 或 fsockopen() 成功打开的。
5、fgets()
string fgets ( resource $handle [, int $length ] )
从文件里读取一行数据。从 handle 指向的文件里读取一行并返回长度最多为 length - 1 字节的字符串。碰到换行符(包含在返回值中)、EOF 或者已经读取了 length - 1 字节后停止(看先碰到那一种情况)。假设没有指定 length,则默觉得 1K,或者说 1024 字节。
6、feof()
bool feof ( resource $handle )
測试文件指针是否到了文件结束的位置。
7、fgetc()
string fgetc ( resource $handle )
从文件里读取单个字符。
8、fwrite()
int fwrite ( resource $handle , string $string [, int $length ] )
參数:
- handle:文件系统指针。是典型地由 fopen() 创建的 resource(资源);
- string:要写入的字符串。
- length:假设指定了 length。当写入了 length 个字节或者写完了 string 以后,写入就会停止,视乎先碰到哪种情况。
返回值:
fwrite() 返回写入的字符数,出现错误时则返回 FALSE 。
9、一个超级简单的评论墙
<html>
<head>
<title>评论墙</title>
</head>
<body>
<!--评论表单-->
<form method="post" action="<?php echo htmlspecialchars($_SERVER['PHP_SELF'])?>">
昵称:<input type="text" name="name"></input>
<br />
评论:<textarea rows='5' cols='19' name="comment"></textarea>
<br />
<input type="submit" name="submit" value="提交">