<html>
2017-08-16 14:15
274 查看
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="提交">
相关文章推荐
- <html>
- <转载>HTML实体字符
- <html:form>标签
- <html>
- <html>
- 关于html中的<div>框
- <HeadFirst_HTML与CSS> O'REILLY_Chap.9_盒模型
- html兼容IE中的<!--[if IE]--><!--[endif]-->说明
- 详述HTML的<meta />标签
- jsp/html中一个<div>悬浮在另一个悬浮的<div>之上------z-index设置
- html的<meta>标签使用方法,一个name属性,一个content属性,其实就是一个键值对,有键有值
- HTML中的<select>标签如何设置默认选中的选项
- <META http-equiv=Content-Type content="text/html; charset=gb2312">
- html兼容IE中的<!--[if IE]--><!--[endif]-->说明
- <HTML5秘籍>——第7章(CSS3与响应式Web设计)
- <html:messages id=””>标签和<html:errors/>标签
- 关于html中的<pre>标签
- HTML中的<pre>标签
- 前端js过滤html标签和<>、空格等产生的特殊符合
- <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content