目录

  • 1 为什么要好好学习
    • 1.1 ​清华大学110校庆习近平讲话
    • 1.2 耶鲁校长2021开学演讲:当世界置身火海,读书意义何在?
    • 1.3 我和我的祖国
    • 1.4 江梦南:半岁失聪的清华女博士!
  • 2 项目一:网站分析与环境配置
    • 2.1 PHP简介
    • 2.2 PHP开发环境与工具
  • 3 项目二:生活中的数学问题
    • 3.1 常量与变量
    • 3.2 数据类型及类型转换
    • 3.3 运算符与优先级
    • 3.4 流程控制语句之顺序结构
    • 3.5 流程控制语句之分支结构
    • 3.6 流程控制语句之循环结构
    • 3.7 流程控制及结构嵌套
    • 3.8 拓展任务
  • 4 项目三:实现日历应用
    • 4.1 自定义函数及函数作用域
    • 4.2 数字操作函数
    • 4.3 日期时间函数
    • 4.4 实现日历应用
  • 5 项目四:图像验证码的实现
    • 5.1 数组的创建与初始化
    • 5.2 数组遍历和输出
    • 5.3 数组的排序及检索
    • 5.4 数组元素操作函数
    • 5.5 字符串处理函数
    • 5.6 字符串查找与替换
    • 5.7 字符串比较与转换
    • 5.8 项目拓展
  • 6 项目五:基于文件名的目录搜索
    • 6.1 目录操作
    • 6.2 文件操作
    • 6.3 拓展任务
  • 7 项目六:问卷调查系统
    • 7.1 (选学)表单及常用表单元素
    • 7.2 获取表单数据
    • 7.3 处理表单控件的值
    • 7.4 文件上传操作
    • 7.5 拓展任务:会员注册页面
  • 8 项目七:简单新闻系统的设计制作
    • 8.1 phpmyadim图形化工具管理数据库
    • 8.2 PHP访问MySQL数据库
    • 8.3 操作SQL数据
    • 8.4 简单新闻系统的设计制作
    • 8.5 拓展任务
  • 9 综合项目(选学内容)
    • 9.1 项目分析
    • 9.2 项目实践
文件操作

一、导学

学习目标及重难点:

动态网页设计与制作 》专业课程教学设计模板

课程名称

动态网页设计与制作

任课教师

韩多成

授课日期

年  月  日

年  月  日

年  月  日

年  月  日

授课班级





授课地点





教研室主任审核意见

 

签名:

                                   年   月   日

题 目

文件的打开与关闭

学习目标

知识目标

1.打开文件

2.关闭文件

3.文件读取

技能目标

培养学生的自学能力、动手实践能力和创新能力。

素质目标

培养学生的团队精神和成功意识,增强学生学习的自信心,形成主动学习的良好氛围。

 

 

教学重点

 

内  容

打开文件

关闭文件

文件读取

突破方法与手段

 

讲授法,探索教学,讨论法,练习法

 

教学难点

内  容

打开文件

关闭文件

文件读取

突破方法与手段

讲授法,探索教学,讨论法,练习法

教学资源

 

多媒体机房、ppt课件、配套资源、教案、教材



二、教学过程:

1、观看微视频:文件操作

理解各种不同文件打开方式的区别,掌握文件的打开与关闭操作函数

理解不同文件写入方式的差别,掌握文件写入函数的应用

掌握文件读取函数的应用


2、理解文件操作函数,包括文件的打开与关闭、文件的写入、文件的读取等操作,输入并调试对应的程序代码。

3、整理笔记、完成本节课测试作业。


三、教学资料:

教案:

动态网页设计与制作 》专业课程教学设计模板

课程名称

动态网页设计与制作

任课教师

韩多成

授课日期

年  月  日

年  月  日

年  月  日

年  月  日

授课班级





授课地点





教研室主任审核意见

 

签名:

                                   年   月   日

题 目

文件的打开与关闭

学习目标

知识目标

1.打开文件

2.关闭文件

3.文件读取

技能目标

培养学生的自学能力、动手实践能力和创新能力。

素质目标

培养学生的团队精神和成功意识,增强学生学习的自信心,形成主动学习的良好氛围。

 

 

教学重点

 

内  容

打开文件

关闭文件

文件读取

突破方法与手段

 

讲授法,探索教学,讨论法,练习法

 

教学难点

内  容

打开文件

关闭文件

文件读取

突破方法与手段

讲授法,探索教学,讨论法,练习法

教学资源

 

多媒体机房、ppt课件、配套资源、教案、教材

 

 

教学过程设计

教学环节

(用时)

内容设计

情景引入

教学内容

点名,复习上节课内容及总结作业,引入本节课所要讲解内容。

循环结构语句

【引入】通过前面的学习,我们可以编写简单的脚本程序。有时候我们要存储多个同一类型的数据,定义多个变量使得变量名太多而难于记忆,容易混淆。我们可以用数组来存放这样的数据。

教师活动

点名,回顾上节课学习内容,引入本节课学习内容

学生活动

回顾上节课内容,了解本节课学习内容

设计意图

通过温故知新,引入本节课学习内容

新课讲授

教学内容

文件操作


 

文件的打开与关闭

打开一个文件是指获得一个文件的操作权限,而非真正显示该文件的可视窗口。

打开文件通过fopen()函数来实现。其语法格式如下:

fopen($filenameoperation_type[$include_path][$handle])

$filename是必填参数,指定所要打开的文件路径,该路径可以是本地文件路径,也可以是一个远程URL。若文件打开成功,函数返回一个文件号(句柄),若失败,返回false

Operation_type是一个具有特定值含义的字符串参数,必填参数,用于指定文件的读写模式。必须慎重对待这个参数的值,否则就有可能将文件的内容全部删除。

Operation_type含义表

含义说明

"r"

只读方式打开,将文件指针指向文件头。

"r+"

读写方式打开,将文件指针指向文件头。在现有文件内容写入,会覆盖原有的内容。

"w"

写入方式打开,将文件指针指向文件头,如果文件不存在则尝试创建,如果文件存在,则文件中原有的内容会被删除。

"w+"

读写方式打开,将文件指针指向文件头,如果文件不存在则尝试创建,如果文件存在,文件中原有的内容将会被删除。

"a"

追加方式打开,将文件指针指向文件末尾。如果文件不存在则尝试创建之。

"a+"

读写(追加)方式打开,将文件指针指向文件末尾。如果文件不存在则尝试创建之。

"x"

创建文件,并以写入方式打开,文件指针指向文件头,如果文件已存在,则该文件不会被创建也不会被打开,函数返回false,并产生一个警告信息。

"x+"

创建文件,并以读写方式打开,将文件指针指向文件头。如果文件已存在,则该文件不会被创建也不会被打开,函数返回false,并产生一个警告信息。

打开一个文件是指获得一个文件的操作权限,而非真正显示该文件的可视窗口。

打开文件通过fopen()函数来实现。其语法格式如下:

fopen($filenameoperation_type[$include_path][$handle])

$include_path是可选参数,指明文件的优先包含路径。如果在php.ini中设置了一个include_path路径,例如“E:\php_site\”,如果希望程序首先在这个路径下寻找、打开指定的文件,则将“$include_path”参数的值设为true1。其默认值是0,程序会优先在根目录下寻找、打开指定的文件。

“$handle”参数可选,在打开远程文件时使用,它是一个变量,其中保存着函数打开对象的一些信息。

【例】

<?php

$c_dir="E:\\myphp";

    chdir($c_dir);

    $c_file=fopen("9.txt","r"); @$c_file2=fopen("12.txt","r"); if($c_file)

    {echo "打开文件9成功";}

else

    {echo "打开文件9失败";}

if($c_file2)

    {echo "打开文件12成功";}

else

    {echo "打开文件12失败";}

?>

已打开的文件,操作完成以后,应当关闭该文件(断掉程序与文件之间的操作关系),以免引起不必要的错误。关闭文件的函数fclose()的语法格式如下:

fclose($handle)

$handle必须是一个通过fopen()打开的有效文件号。如果关闭成功,函数返回true,否则返回false,并产生一个错误信息。

文件的读操作

php读取文件内容时,根据一次性读取文件内容的长短,可以分为读取一个字符、一行字符串、整个文件或指定长度的内容。

按字符读取文件

fgetc()函数,从打开文件中的读取一个字符,其语法格式如下:

fgetc($handle)

$handle的值必须是一个用fopen()函数打开的有效文件号

如果读取成功,函数返回读取的字符

如果是文件的末尾(EOF),回false

如果不是一个有效的文件号,返回false,并产生一个错误信息。

$c_dir="E:\\myphp";

chdir($c_dir);

$c_file1=fopen("9.txt","r");   

$c_file2=fopen("12.txt","r");

$c_file3=fopen("13.txt","r");

$c1=fgetc($c_file1);

$c2=fgetc($c_file2);

$c3=fgetc($c_file3);  

【例】

<?php

$c_dir="E:\\myphp";

chdir($c_dir);

$c_file=fopen("9-24.txt","r");

while(($c=fgetc($c_file))!=false)

{

     $c=nl2br($c);

     echo $c;

    }

fclose($c_file);

?>

按行读取文件

利用fgets()函数,一次性可以读取指定文件中的一行内容。其语法格式如下:

fgets($handle[,length])

其中,$handle是必填参数,是一个用fopen()函数打开的文件号。

length是可选参数,用于指定读取一行内容以后,返回的内容大小,其默认值是1K1024字节)。如果指定的长度以内,含有换行符或已到文件末尾(EOF==true),则只返回换行符或EOF之前的内容,否则,返回长度-1”个字节,最后一个字节是文件结束符。如果文件读取成功,函数返回读取的内容,否则,返回false

读取整个文件

读取整个文件的函数有:file()readfile()fpassthru()file_get_contents()

file()函数的功能是将一个文件读取到一个数组中,每一行的内容(包括换行符),作为数组的一个元素值。

readfile()函数与file()函数不同的是,它直接将整个文件读取并输出,同时还会返回已读取的字节数。

fpassthru()函数的功能是从文件指针的当前位置开始读取文件的内容直接输出,并返回已读取的字符数。

file()函数的语法格式如下:

file($file_path[include_path][handle])

其中,$file_path是必填参数,指定要打开文件的路径,它可以是本地文件路径,也可以是一个远程URL

Include_path是可选参数,指明是否优先在user_include_path目录下搜索要打开的文件,默认值是false,在根目录下搜索。

如果文件读取成功,函数返回的是一个含有全部文件内容的数组,否则,返回false

【例】

<?php

$c_dir="E:\\myphp";

chdir($c_dir);

$c_file=file("9-24.txt","r");

……

fclose($c_file);

?>

readfile()函数与file()函数不同的是,它直接将整个文件读取并输出,同时还会返回已读取的字节数。其语法格式如下:

readfile($file_path[include_path][handle])

各参数的含义用法与file()函数相同。

需要注意的是,因为readfile()函数直接将文件读取到输出缓冲中,因此,readfile()函数本身就已经包含了输出功能,除非需要输出函数返回的字节数,否则,不需再使用输出语句。

【例】

<?php

$c_dir="E:\\myphp";

chdir($c_dir);

$c_file=file("9-24.txt","r");

……

fclose($c_file);

?>

fpassthru()函数的功能是从文件指针的当前位置开始读取文件的内容直接输出,并返回已读取的字符数。其格法格式如下:

fpassthru($handle)

fpassthru()函数要读取的$handle(文件指针),必须是一个用fopen()函数打开的文件指针。如果函数读取内容成功,则将读取的内容输出,并返回已读取的字符数,否则返回false

【例】

<?php

$f_path="E:\\myphp\9-29.txt";

$f_num=fopen($f_path,"r");

$t=fgets($f_num);

fpassthru($f_num);

fclose($f_num);

?>

file_get_contents()函数的功能是将文件中指定部分的内容读取到一个字符串中。其语法格式如下:

file_get_contents($file_path [,include_path] [ ,handle] [,s_point] [,read_length])

其中:

$file_pathinclude_pathhandle的含义、用法与file()函数相同;

S_point是可选参数,用于指定开始读取的位置,默认从头开始;

Read_lenght是可选参数,指定读取的长度,单位为字节,默认读到文件结束。

如果读取文件成功,函数返回一个包含了所读取内容的字符串,否则,返回false

读取文件任意长度

fread()函数可以从文件中读取指定长度的内容(以字节为单位)。语法格式如下:

fread($file_handleread_length)

其中,$file_handle必须是一个用fopen()函数打开的文件号,read_length是一个整型参数,指定要从文件中读取的长度,单位是字节。如果读取成功,则返回读到的内容,否则,返回false

【例】

<?php

$f_path="E:\\myphp\9-30.txt";

$f_num=fopen($f_path,"r");

$t=fread($f_num,6);

echo $t;

$t=fread($f_num,7);

echo $t;

fclose($f_num);

?>

文件的写操作

PHP提供的文件写入操作函数有fwrite()file_put_contents()。两者的主要区别在于前者需要打开文件才能进行写操作,后者不需打开文件即可写操作。

在对一个文件进行写操作之前,必须先保证该文件存在,并且已经以支持写入操作的模式打开。

fwrite()函数

fwrite()函数功能是将内容写入文件,语法格式如下:

fwrite($handle$content_str [length])

$handle是必填参数,其值是用fopen()打开的、支持写入模式的文件号;

$content_str是必填参数,指定要写入文件的内容;

length是可选参数,指定要写入文件的字符数,如果这个长度比$content_str的长度大,则写入全部的$content_str,如果比$content_str的长度小,则截取$content_str中相应长度的内容写入文件。如果省略该参数,则默认写入全部的$content_str

操作成功后,函数返回已写入的字符数,如果失败,则返回false

【例】

<?php

$f_path="E:\\myphp\9-24.txt";

$f_num=fopen($f_path,a+");

$t=hello!php;

$t=fwrite($f_num,$t);

fclose($f_num);

?>

file_put_contents()函数

fwrite()函数的功能是将内容写入指定的文件,语法格式如下:

fwrite($handle$content_str [length])

$handle是必填参数,其值是用fopen()打开的、支持写入模式的文件号;

$content_str是必填参数,指定要写入文件的内容;

length是可选参数,指定要写入文件的字符数,如果这个长度比$content_str的长度大,则写入全部的$content_str,如果比$content_str的长度小,则截取$content_str中相应长度的内容写入文件。如果省略该参数,则默认写入全部的$content_str

操作成功后,函数返回已写入的字符数,如果失败,则返回false

<?php

echo "<pre>";

$filename = "files/fileputcontent.txt";

$str = "明月几时有,把酒问青天。不知天上宫阙,今夕是何年?我欲乘风归去,又恐琼楼玉宇,高处不胜寒。起舞弄清影,何似在人间!转朱阁,低绮户,照无眠。不应有恨,何事长向别时圆?人有悲欢离合,月有阴晴圆缺,此事古难全。但愿人长久,千里共婵娟。";

echo file_put_contents ( $filename, $str );

echo file_put_contents ( $filename, $str ); // 覆盖

echo file_put_contents ( $filename, $str, FILE_APPEND ); // 追加

?>

文件的内容指针

在对文件的读写操作中,需要对读写的位置进行定位,这就需要用到文件的内容指针函数。该类函数主要有feof()rewind()ftell()fseek()等函数。

1feof()函数

该函数用于判断当前指针位置是否处于文件内容的最尾部,若是,返回true,否则返回false。其语法格式如下:

fenof($file_handle)

其中,$file_handle必须是一个用fopen()函数打开文件。

在对文件的读写操作中,需要对读写的位置进行定位,这就需要用到文件的内容指针函数。该类函数主要有feof()rewind()ftell()fseek()等函数。

2rewind()函数

rewind()函数可以将指针的当前位置移到文件开头,其语法格式如下:

rewind($file_handle)

其中,$file_handle必须是一个用fopen()函数打开的文件号。

3ftell()函数

ftell()函数的功能是返回指针当前所在的位置,它的单位是字节。语法格式如下:

ftell($file_handle)

其中,$file_handle必须是一个用fopen()函数打开的文件号。

4fseek()函数

fseek()函数的作用是将文件指针移到指定的位置,以字节为单位。语法格式如下:

fseek($file_handle , n_point  [,seek_mode])

$file_handle是必填参数,必须是一个用fopen()函数打开的文件号。

N_point是必填参数,用于指定指针移动的位移量(字节);

Seek_mode是可选参数,用于指明指针移动的模式,它只能是以下值之一:

SEEK_SET :指针移到“n_point”中指定的字节处。默认值。

SEEK_CUR :指针移到当前位置+“n_point”处。

SEEK_END :指针移到文件末尾(EOF)加上 “n_point”处,(如果要指针从文件尾倒移,“n_point”必须是一个负值)。

<?php

$filename = "files/libai.txt";

$handle = fopen ( $filename, "r+" );

echo "第一次读:<br />";

while ( ! feof ( $handle ) ) {

    echo fgets ( $handle ) . "<br />";

}

echo "<hr />";

rewind ( $handle );

echo "第二次读:<br />";

while ( ! feof ( $handle ) ) {

    echo fgets ( $handle ) . "<br />";

    echo "当前指针位置:" . ftell ( $handle ) . "<br />";

}

echo "<hr />";

fseek ( $handle, 34 );

fwrite ( $handle, "野火烧不尽\n春风吹又生" );

rewind ( $handle );

echo "第三次读:<br />";

while ( ! feof ( $handle ) ) {

    echo fgets ( $handle ) . "<br />";

    echo "当前指针位置:" . ftell ( $handle ) . "<br />";

}

?>

文件的其它操作函数

文件操作,除了打开、关闭与读写以外,还有复制、重命名、查看属性信息等操作,这些操作,都不需要打开文件,只要确保文件存在即可。

复制文件

复制文件使用copy()函数,其语法格式如下:

copy($file_path$past_path)

$file_path为复制路径,$past_path为粘贴路径。

操作成功,函数返回true,否则返回false

例如:

copy(“E:\myphp\k.txt”,”E:\dir\e.txt”)

重命名

重命名个文件与剪切一个文件是一样的,都使用rename()函数:

rename($file_path$past_path)

$file_path为源路径,$past_path为粘贴路径。

操作成功,函数返回true,否则返回false

例如:

rename(“E:\myphp\k.txt”,”E:\dir\e.txt”)

删除文件

删除文件使用unlink()函数:

unlink($file_path)

被删除的文件必须是一个存在的文件,并且不能已打开。

操作成功,函数返回true,否则返回false

例如:

unlink(“E:\myphp\k.txt”)

检查文件

检查一个文件是否存在,用is_file()函数:

is_file($file_path)

若文件存在,函数返回true,否则返回false

例如:

is_file(“E:\myphp\k.txt”)==true;

is_file(“E:\dir\k.txt”)==false;

查看文件的属性信息

fileatime($file_path):返回文件最后一次被访问的时间,这个时间用的是unix时间戳方式,是个整型的数值。

filemtime($file_path):返回文件最近修改的时间。其返回的时间格式与fileatime()一样。

filesize($file_path):用于获取指定文件的大小,单位是字节(bytes)若操作成功,返回文件的字节数,若失败,返回false,并产生一条错误提示信息。

 

教师活动

使用各种教学方法,利用多媒体机房和教学课件,教学案例等教学资源,对教学内容进行讲授

学生活动

配合教学活动,学习相关知识。

设计意图

讲授新知识,让学生学习本节课内容。

实践练习

教学内容

实践练习

结合本节课所学知识,理解教材上案例并调试运行。

完成操作练习题

教师活动

安排练习内容,辅导学生完成对应的操作练习

学生活动

领取实践练习任务,按照要求完成相关操作

设计意图

让学生能熟练掌握所学知识,通过实践练习进一步强化操作技能

板书设计


作业布置

课后配套练习

教学反思


 

教学课件: