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="提交">
查看全文
JavaScript中的 typeof,null,和undefined
JavaScript循环
JavaScript条件语句
JavaScript运算符
JavaScript字符串
JavaScript事件
JavaScript对象,函数,作用域
JavaScript基础
数值数据的特征预处理
- 最新文章
-
你所知道的微服务技术栈?
微服务之间是如何独立通讯的?
用 wait-notify 写一段代码来解决生产者-消费者问题?(答案)
用 Java 写一个线程安全的单例模式(Singleton)?
请简述下你在哪些场景下会选择 Kafka?
Kafka 的设计架构你知道吗?
你知道 Kafka 是如何做到消息的有序性?
ISR、OSR、AR 是什么?
Kafka消息是采用Pull模式,还是Push模式?
为知笔记使用Typora
- 热门文章
-
AQS原理解析 AbstractQueuedSynchronizer
用例图中的三种关系包含、扩展、泛化
Java中守护线程的总结 thread.setDaemon(true)
核与线程 CPU 4核8线程 的解释
JAVA8的java.util.function包 @FunctionalInterface
Java之四大元注解@Target、@Retention、@Documented、@Inherited
Eclipse注释模板
RabbitMQ 的消息持久化与 Spring AMQP 的实现剖析
poll?transport=longpoll&connection...连接的作用
JavaScript正则表达式