包含文件
include和require
在PHP中,可以在服务器执行PHP文件之前插入一个文件的内容
include和require除了处理错误的方式不同之外,在其他方向都是相同的
- require 生成一个致命错误,错误发生后会停止执行
- include 生产一个警告,在错误发生后会继续执行
如果希望不影响文件执行,推荐使用include
语法1
2
3
4
5include 'filename';
或者
require 'filename';
include和require
如果你有一个名为header.php,想在页面中引用这个页头文件,就可以使用include/require1
2
3
4
5
6
7
8
9
10
11
12
13<html>
<head>
<meta charset="utf-8">
<title>菜鸟教程(runoob.com)</title>
</head>
<body>
include 'header.php';
<h1>欢迎来到我的主页!</h1>
<p>一些文本。</p>
</body>
</html>
如果想在所有页面中使用标准菜单文件
menu.php1
2
3echo '<a href="/">主页</a>
<a href="/html">HTML 教程</a>
<a href="/php">PHP 教程</a>';
1 | <html> |
文件
PHP中使用fopen()函数打开文件
打开文件
使用fopen()即可,第一种参数是打开文件的名称,第二个参数规定了使用哪种模式来打开1
2
3
$file=fopen("welcome.txt","r");
模式 | 描述
-|-
r | 只读。在文件开头开始
r+ | 读/写。在文件开头开始
w | 只写。打开并清空文件内容;文件不存在则创建文件
w+ | 读/写。打开并清空文件内容;文件不存在则创建文件
a | 追加。打开并向文件末尾进行写操作,如果不存在则创建文件
a+ | 读/追加。通过向文件末尾写内容,来保持文件内容
x | 只写。创建新文件。如果文件已存在,则返回 FALSE 和一个错误
x+ | 读/写。创建新文件。如果文件已存在,则返回 FALSE 和一个错误
关闭文件
fclose()函数用于关闭打开的文件1
2
3
4
5
6<?php
$file = fopen("test.txt","r");
//执行一些代码
fclose($file);
检测文件末尾(EOF)
feof()函数检测是否已到达文件末尾EOF
在循环遍历未知长度的数据时,feof()函数很有用1
if (feof($file)) echo "文件结尾";
逐行读取文件
fgets()函数用于从文件中逐行读取文件
再调用该函数之后,文件指针会移动到下一行
1 | <?php |
逐行字符读取文件
fgetc()函数用于从文件中逐字符的读取文件
1 | <?php |
总结
1.推荐直接使用include包含,如果包含文件出现错误,也不会影响所在文件的正常运行,而require包含则会终止运行
2.文件读取不知道读取文件的行数时,使用feof()函数来参与循环,以实现全部读取
3.fgets()和fgetc()函数用法差不多,前者直接读取完整一行,后者则是一个字一个字的读取
4.fopen中常用的参数就是r r+ w w+ 其他不常用,了解就行