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="提交">
查看全文
Luogu P1613跑路【倍增】By cellur925
CF519E A and B and Lecture Rooms
poj 2412 The Balance 【exgcd】By cellur925
NOIp 2014 解方程 【数学/秦九韶算法/大数取膜】By cellur925
Maven项目整合SSH框架
传递依赖
Maven项目整合Struts2框架
K.O. -------- Eclipse中Maven的报错处理
依赖范围
- 最新文章
-
web 自定义监听器中设置加载系统相关的静态变量及属性
XML
基本数据结构和算法系列---栈和队列
java基础知识系列---equals和==
Spring3 + Spring MVC+ Mybatis 3+Mysql 项目整合
WEB 中的一些名词解释
Struts2,Hibernate和Spring之间的框架整合关系
JDBC、Hibernate、Mybaites处理数据的流程及对DAO的理解
hibernate和mybatis思想,区别,优缺点
P2P金融的概念理解
- 热门文章
-
CF126B Password【KMP】By cellur925
UVA1328 Period【KMP/周期串/循环节】By cellur925
树链剖分学习笔记 By cellur925
Luogu P1429 平面最近点对 【分治】By cellur925
Luogu P3694 邦邦的大合唱站队 【状压dp】By cellur925
CF580D Kefa and Dishes 【状压dp】By cellur925
浅谈线段树 (例题:[USACO08FEB]酒店Hotel)By cellur925
简单重载运算符in priority_queue By cellur925
强连通分量再探 By cellur925
Luogu P1262 间谍网络 【强连通分量/缩点】By cellur925