PHP操作文件:分为打开文件,读取文件,写入文件和关闭文件四步。为了方便学习,本节课开始引入词汇表项目,当访客查看词汇表时,能够搜索词汇,项目要求admin组成,要有保存数据功能,先把数据保存在json文件。所以我们需要有保存功能,读取传递需要用到PHP程序。然后我们将数据序列化为JSON结构,以便我们保存它。
PHP如何操作文件-词汇表项目文件结构和代码
创建4.2_working_with_files并把4.1文件复制过来。
第一步:修改index.php代码
注释view_bag变量,创建$data变量,通过调用get_data()函数获取我们的数据,我们可以指定文件名,我们并不很需要针对这个特定的应用,因为我们仅仅使用的唯一文件是数据文件,我们不是打开几个不同的文件,所以我们需要一个通用的功能。我们需要一个用于打开数据文件,并且数据文件的名称最好放置于config文件内部,所以让我们创建一个名为config.php的新文件。
第二步:创建Config.php
第三步:index.php把config.php引进来
这样引进来看起来感觉很好,但是当我们添加其他控制器时,我们将不得不再次要求相同的文件,然后当我们添加更多文件时,我们能不能把这些东西处理得更好呢?所以我们可以做的是创建app文件来处理应用程序所有需要的文件。
第四步:创建app.php文件
把index.php的require文件改为:
这样,其它任何controller只要引入一个app.php文件即可。这样在我们的controller就不会忘记文件的引入了,因为我们把所有需要引入的文件全部放到app.php文件。
第五步:把应用程序的中心文件放到app文件夹
创建app文件夹,把app.php,config.php,functions.php放到app文件夹,修改index.php添加app.php路劲:
这样看起来,我们词汇表项目文件结构和代码干净很多。
PHP如何操作文件-编写get_data函数
第一步:config.php编码
第二步:functions.php编码
编写get_data()函数
第一种方法:代码稍长
程式解释
- 检查文件是否存在file_exists,把文件名作为参数传递file_exists()函数
- 创建fname变量存储获取过来的CONFIG[‘data_file’]的健或值;
- 我们使用$fname变量,如果文件存在,我们就fopen,并要添加打开这个文件的模式:阅读,写入……(php manual关于文件处理部分),处理好之后,我们要fclose文件
- 我们是get_data()函数,这里是json结构的数据,我们需要读取它,把它保存到$json变量中:$json = ”;
- 如果文件不存在,我们就要创建一个可读的文件$json,fread传递$handle进来,声明数据读取的大小:filesize($fname);
- 返回json: return json。
第二种写法:不需要处理handles
刷新index.php报错:
第一条报错信息提醒文件不存在导致的,把代码file_exists($fname)改为!file_exists($fname)不存在即可解决
刷新第一个错误没有了,第二个报错信息提醒找不到json常量,把return json;添加$改为return $json;即可解决。
第三步:添加数据到data.json文件
data.json文件被创建,我们在data.json文件创建一些资料
[JavaScript]
[
{
“term”:”js”,
“definition”:”javascript”
},
{
“term”:”html”,
“definition”:”超文本标记语言”
},
{
“term”:”php”,
“definition”:”超文本预处理器”
}
]
[/JavaScript]
第四步:把data.json的数据传递到index.php的视图
刷新页面输出结果显示:
我们得到json的数据结构,这正是我们想要的显示结果。
转载请注明:林雍岷 » 第十五节 PHP操作文件