《PHP动态网站设计(专)》项目六 在线文件库.pdf

上传人:奥****文 文档编号:2309600 上传时间:2024-06-11 格式:PDF 页数:60 大小:3.25MB
下载 相关 举报
《PHP动态网站设计(专)》项目六 在线文件库.pdf_第1页
第1页 / 共60页
《PHP动态网站设计(专)》项目六 在线文件库.pdf_第2页
第2页 / 共60页
《PHP动态网站设计(专)》项目六 在线文件库.pdf_第3页
第3页 / 共60页
《PHP动态网站设计(专)》项目六 在线文件库.pdf_第4页
第4页 / 共60页
《PHP动态网站设计(专)》项目六 在线文件库.pdf_第5页
第5页 / 共60页
《PHP动态网站设计(专)》项目六 在线文件库.pdf_第6页
第6页 / 共60页
《PHP动态网站设计(专)》项目六 在线文件库.pdf_第7页
第7页 / 共60页
《PHP动态网站设计(专)》项目六 在线文件库.pdf_第8页
第8页 / 共60页
《PHP动态网站设计(专)》项目六 在线文件库.pdf_第9页
第9页 / 共60页
《PHP动态网站设计(专)》项目六 在线文件库.pdf_第10页
第10页 / 共60页
《PHP动态网站设计(专)》项目六 在线文件库.pdf_第11页
第11页 / 共60页
《PHP动态网站设计(专)》项目六 在线文件库.pdf_第12页
第12页 / 共60页
《PHP动态网站设计(专)》项目六 在线文件库.pdf_第13页
第13页 / 共60页
《PHP动态网站设计(专)》项目六 在线文件库.pdf_第14页
第14页 / 共60页
《PHP动态网站设计(专)》项目六 在线文件库.pdf_第15页
第15页 / 共60页
《PHP动态网站设计(专)》项目六 在线文件库.pdf_第16页
第16页 / 共60页
《PHP动态网站设计(专)》项目六 在线文件库.pdf_第17页
第17页 / 共60页
《PHP动态网站设计(专)》项目六 在线文件库.pdf_第18页
第18页 / 共60页
《PHP动态网站设计(专)》项目六 在线文件库.pdf_第19页
第19页 / 共60页
《PHP动态网站设计(专)》项目六 在线文件库.pdf_第20页
第20页 / 共60页
亲,该文档总共60页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、项目六在线文件库PHP动态网站开发项目教程项目目标实现具有上传文件、查看已上传文件、可删除已上传文件和下载文件等功能的在线文件库,如图6.1所示。(源代码:chapter6example*.*)图6.1 在线文件库首页3相关知识项目实现内容导航文件操作目录操作文件上传4文件操作文件操作主要包含获取文件属性、打开文件、读写文件、删除文件等操作。下面分别进行介绍。1文件属性程序中有时需要使用文件的一些属性,如文件类型、文件大小、文件时间、文件权限等。下面分别对PHP提供的常用文件属性函数进行介绍。filetype($file):返回文件类型。Windows系统中文件类型为file、dir或Unkn

2、own。filesize($file):返回文件大小,单位为字节。filectime($file):返回文件创建时间的时间戳(一个整数),通常需格式化为日期时间进行显示。fileatime($file):返回文件上次访问时间。filemtime($file):返回文件上次修改时间。fileperms($file):返回文件权限,整数。该整数通常包含了文件是否可读写以及其他的信息。is_writable($file):返回文件是否可写。is_readable($file):返回文件是否可读。stat($file):以数组形式返回文件的全部信息。51文件属性例6.1使用自定义函数,代码如下。(源代

3、码:chapter6test1.php)61文件属性例6.1使用自定义函数,代码如下。(源代码:chapter6test1.php)71文件属性例6.1代码在IE浏览器中的显示结果如图所示。82文件的打开和关闭在读写文件时,通常需要先打开文件。fopen()函数用于打开文件,返回指向打开文件的文件指针,其基本格式如下:其中,$handle变量保存返回的文件指针,其数据类型为resource。$fname为文件名,可以是本地文件,也可以是远程文件的URL。$mode为文件打开模式,指定文件读写方式。可使用下列文件打开模式。r:只读方式打开,将文件指针指向文件头。r+:读写方式打开,将文件指针指向

4、文件头。w:只写入方式打开,将文件指针指向文件头,文件原有内容被删除。若文件不存在,则用指定文件名创建文件再打开。应注意,只要用w方式打开文件,即使没有向原文件写入任何内容,原文件内容都将被删除。w+:读写方式打开,其他行为与w相同。92文件的打开和关闭其中,$handle变量保存返回的文件指针,其数据类型为resource。$fname为文件名,可以是本地文件,也可以是远程文件的URL。$mode为文件打开模式,指定文件读写方式。可使用下列文件打开模式。a:只写入方式打开,将文件指针指向文件末尾,始终在文件末尾写入数据。若文件不存在,则用指定文件名创建文件再打开。a+:读写方式打开,其他行为

5、与a相同。x:创建新文件并以只写入方式打开,将文件指针指向文件头。若文件已存在,打开失败,函数返回FALSE,并生成一条 E_WARNING 级别的错误信息。x+:创建新文件并以读写方式打开,其他行为与x相同。c:只写入方式打开,将文件指针指向文件头,文件原有内容保留。若文件不存在,则用指定文件名创建文件再打开。c+:读写方式打开,其他行为与c相同。提示:文件读写都在文件指针位置进行,读出或写入n个字节时,文件指针向后移动n个字节。102文件的打开和关闭文件使用结束后,应及时使用fclose()函数将其关闭。fclose()函数基本格式为其中,$handle为已打开的文件指针。例如:下面的代码

6、分别用于打开不同的文件,然后将其关闭。113向文件写入数据fwrite()函数用于向文件写入数据,其基本格式为其中,$handle为打开的文件指针,$data为要写入的字符串。$len指定写入的字符串长度,若$data长度超过$len,多余的字符不会被写入文件。$len可以省略,省略时$data全部写入文件。fwrite()函数返回写入的字符数,写入出错则返回FALSE。例6.2打开文件并写入数据,代码如下。(源代码:chapter6test2.php)123向文件写入数据提示:数组和对象等复杂类型的数据,需要使用serialize()函数进行序列化转换之后才能使用fwrite()函数写入文件

7、。提示:fopen()函数中指定的文件如果没有指定路径,则默认和当前PHP文件路径相同。例6.2代码在IE浏览器中的显示结果如图所示。可用Windows写字板(记事本打开看不出换行效果)打开test2_data.txt文件,查看写入的数据,如图所示。134读取文件数据当了解写入数据的方法后,即可对读取文件数据的3个函数分别进行介绍。fgetc($handle):读一个字符。fgets($handle,$len):省略$len时,读一行。若指定了$len,行中的字符数大于$len则读$len个字符,否则读完行中字符就停止。fgetss($handle,$len,$tags):与fgets()类似

8、。区别在于fgetss()会删除读出字符串中的HTML和PHP标记。可用$tags参数指定需要保留的标记。144读取文件数据例6.3读文件数据,代码如下。(源代码:chapter6test3.php)154读取文件数据其中,test3_data.txt文件数据如下:例6.3代码在IE浏览器中的显示结果如图所示。165读CSV文件CSV文件指文件中的数据用分隔符(分号、逗号)等分隔。可用fgetcsv()函数读取CSV文件,并解析数据,其基本格式为与fgets()函数类似,fgetcsv()函数从$handle指定的文件中读取一行或$len指定数量的字符($len为0也表示读一行)。读出的字符串

9、按指定的分隔符分解为数组返回。例6.4读取CSV文件,代码如下。(源代码:chapter6test4.php)175读CSV文件test4_data.txt文件内容如下:例6.4代码在IE浏览器中的显示结果如图所示。186读整个文件内容file()函数可以不需要使用fopen()函数打开文件,即可将读出文件的全部内容放入一个数组,文件每行数据为一个数组元素值。file_get_contents()函数可将文件内容读入一个字符串。例6.5将文件内容读入数组。(源代码:chapter6test5.php)196读整个文件内容test5_data.txt文件内容如下:例6.5代码在IE浏览器中的显示

10、结果如图所示。file_get_contents()函数读出的字符串中包含了符号,符号在浏览器中被忽略,不会显示换行效果,要显示换行效果,需使用nl2br()函数处理。207其他文件操作下面分别对其他常用的文件操作函数进行介绍。file_exists($filename):测试指定的文件是否存在,文件存在返回TRUE,否则返回FALSE。copy($filename,$filename2):将文件$filename复制为$filename2。操作成功返回TRUE,否则返回FALSE。rename($filename,$filename2):将文件$filename名称修改为$filename2

11、。操作成功返回TRUE,否则返回FALSE。ftruncate($handle,$n):将$handle指定的已打开文件长度缩短为$n字节。注意,如果文件长度小于$n,则会用NULL填充并将文件扩展到$n字节。操作成功返回TRUE,否则返回FALSE。unlink($filename):删除指定文件,操作成功返回TRUE,否则返回FALSE。217其他文件操作例6.6使用文件的存在测试、复制、更名、截取和删除等操作,代码如下。(源代码:chapter6 test6.php)227其他文件操作例6.6使用文件的存在测试、复制、更名、截取和删除等操作,代码如下。(源代码:chapter6 test

12、6.php)237其他文件操作例6.6使用文件的存在测试、复制、更名、截取和删除等操作,代码如下。(源代码:chapter6 test6.php)247其他文件操作例6.6使用文件的存在测试、复制、更名、截取和删除等操作,代码如下。(源代码:chapter6 test6.php)257其他文件操作例6.6代码在IE浏览器中的显示结果如图所示。26相关知识项目实现内容导航文件操作目录操作文件上传27目录操作目录操作主要包括解析目录、遍历目录、创建目录和删除目录等操作。下面分别进行介绍。1解析目录目录解析函数用于获取一个文件名中的路径名、文件主名和扩展名等信息。下面对目录解析函数分别进行介绍。ba

13、sename($path):返回路径中的文件名(含扩展名)。dirname($path):返回路径中指向文件名的完整路径,即文件名中除去basename()函数获取的部分。pathinfo($path):以数组形式返回文件名中的路径名、文件主名和扩展名。281解析目录例6.7解析目录,代码如下。(源代码:chapter6test7.php)291解析目录例6.7代码在IE浏览器中的显示结果如图所示。302遍历目录遍历目录可以查看目录包含的子目录和文件。下面对遍历目录函数分别进行介绍。opendir($dirname):打开指定的目录,返回指向打开目录的指针。如果打开失败,则返回FALSE。re

14、addir($dir_handle):返回目录中的下一个文件名。closedir($dir_handle):关闭打开的目录scandir($dirname):无需打开目录,直接以数组形式访问目录内容。disk_total_space($dirname):返回总目录的磁盘空间大小。disk_free_space($dirname):返回目录可用的磁盘空间大小。312遍历目录例6.8遍历目录,代码如下。(源代码:chapter68.php)322遍历目录例6.8遍历目录,代码如下。(源代码:chapter68.php)332遍历目录例6.8代码在IE浏览器中的显示结果如图所示。提示:readdir

15、()和scandir()函数获得的文件名不包含路径信息,所以在使用filetype()、filectime()和filesize()等函数获取文件属性时,应加上文件路径,否则函数会调用失败,产生一个Warning错误。343创建和删除目录下面分别对创建和删除目录的函数进行介绍。mkdir($pathname):创建指定目录,成功时返回TRUE,失败时返回FALSE。rmdir($dirname):删除指定目录,成功时返回TRUE,失败时返回FALSE。若目录不为空或者没有权限,则不能删除目录,提示脚本出错。例6.9创建和删除目录,代码如下。(源代码:chapter6test9.php)353创

16、建和删除目录例6.9创建和删除目录,代码如下。(源代码:chapter6test9.php)363创建和删除目录例6.9代码在IE浏览器中的显示结果如图所示。37相关知识项目实现内容导航文件操作目录操作文件上传38文件上传文件上传主要涉及文件上传设置、编写文件上传表单、编写PHP上传处理脚本等操作。下面分别对这些操作进行介绍。1文件上传设置要保证上传成功,首先要进行正确的设置,包括如下:(1)设置表单字符编码方式(2)客户端文件大小设置(3)php.ini中的有关文件上传设置392编写文件上传表单典型的文件上传表单如下:表单的action属性中指定用于处理上传文件的PHP脚本。文件选择输入字段“”的name属性值“myfile”将被PHP使用。403编写PHP上传处理脚本通过客户端表单上传的文件保存在PHP临时目录的临时文件中,临时文件扩展名为.tmp。临时文件在表单处理脚本(action属性中指定)执行期间存在,表单处理结束,临时文件将被自动删除。所以,通常将临时文件名修改为上传文件的原始名称,以保存上传的文件。PHP会在全局数组$_FILES中创建一个数组元素($_FILESmyf

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 教育专区 > 计算机类

若发现您的权益受到侵害,请立即联系客服,我们会尽快为您处理!

copyright@2008-2025 兔兜文库 网站版权所有

鲁公网安备37072502000182号  ICP备案号:鲁ICP备2021021588号-1  百度保障