PHP常用功能模块.ppt
《PHP常用功能模块.ppt》由会员分享,可在线阅读,更多相关《PHP常用功能模块.ppt(92页珍藏版)》请在三一办公上搜索。
1、第5章 PHP常用功能模块,5.1 目录与文件操作,5.2 图 形 处 理,5.3 日期和时间,5.1 目录与文件操作,5.1.1 目录操作1创建和删除目录使用mkdir()函数可以根据提供的目录名或目录的全路径,创建新的目录,如果创建成功则返回TRUE,否则返回FALSE。例如:使用rmdir()函数可以删除一个空目录,但是必须具有相应的权限。如果目录不为空,必须先删除目录中的文件才能删除目录。例如:,5.1.1 目录操作,2获取和更改当前工作目录当前工作目录是指正在运行的文件所处的目录。使用getcwd()函数可以取得当前的工作目录,该函数没有参数。成功则返回当前的工作目录,失败则返回FA
2、LSE。例如:使用chdir()函数可以设置当前的工作目录,该函数的参数是新的当前目录,例如:;/当前工作目录为C:wampwwwPractice mkdir(./good);/在Apache文件根目录中建立good目录 chdir(./good);/设置good目录为当前工作目录 echo getcwd();/输出C:wampwwwgood?,5.1.1 目录操作,3打开和关闭目录句柄目录的访问是通过句柄实现的,使用opendir()函数可以打开一个目录句柄,该函数的参数是打开的目录路径,打开成功则返回TRUE,失败则返回FALSE,打开句柄后其他函数就可以调用该句柄。为了节省服务器资源,使
3、用完一个已经打开的目录句柄后,应该使用colsedir()函数关闭这个句柄。例如:,5.1.1 目录操作,4读取目录内容例如,假设根目录的good目录下已经创建了一个目录html,其中保存了1.php、2.php、3.php这3个文件,要遍历html目录可以使用如下代码:;/输出文件名 closedir($dir_handle);/关闭目录句柄 else echo 打开目录失败!;?,5.1.1 目录操作,输出结果如下:.1.php 2.php 3.php,5.1.1 目录操作,5获取指定路径的目录和文件scandir()函数列出指定路径中的目录和文件,语法格式如下:array scandir
4、(string$directory,int$sorting_order,resource$context)函数运行成功则返回一个包含指定路径下的所有目录和文件名的数组,失败则返回FALSE。例如:.1=.2=1.php 3=2.php 4=3.php)print_r($file2);/输出:Array(0=3.php 1=2.php 2=1.php 3=.4=.)?,5.1.2 文件的打开与关闭,1打开文件打开文件使用的是fopen()函数,语法格式如下:resource fopen(string$filename,string$mode,bool$use_include_path,resou
5、rce$context)(1)$filename参数。fopen()函数将$filename参数指定的名字资源绑定到一个流上。(2)$mode参数。$mode参数指定了fopen()函数访问文件的模式,取值见表5.1。(3)$use_include_path参数。如果需要在include_path(PHP的include路径,在PHP的配置文件设置)中搜寻文件,可以将可选参数$use_include_path的值设为1或TRUE,默认为FALSE。,5.1.2 文件的打开与关闭,(4)$context参数。可选的$context参数只有文件被远程打开时(如通过HTTP打开)才使用,它是一个资源
6、变量,其中保存着与fopen()函数具体的操作对象有关的一些数据。如果fopen()打开的是一个HTTP地址,那么这个变量记录着HTTP请求的请求类型、HTTP版本及其他头信息;如果打开的是FTP地址,记录的可能是FTP的被动/主动模式。例如:,5.1.2 文件的打开与关闭,2关闭文件文件处理完毕后,需要使用fclose()函数关闭文件,语法格式如下:bool fclose(resource$handle)参数$handle为要打开的文件指针,文件指针必须有效,如果关闭成功则返回TRUE,否则返回FALSE。例如:,5.1.3 文件的写入,例如,下面的代码将在D盘data目录下新建一个名为in
7、dex.txt的文件(data目录存在):(1)fwrite()函数。文件打开后,向文件中写入内容可以使用fwrite()函数,语法格式如下:int fwrite(resource$handle,string$string,int$length),5.1.3 文件的写入,如果字符串$string中字节数小于$length,则写入整个字符串后就停止写入。如果写入操作成功,fwrite()函数将返回写入的字节数,出现错误时返回FALSE。例如:;echo 写入的字节数为.$num.个;/成功写入的字符个数为14个 fclose($handle);/关闭文件 else echo 文件写入失败;?,5
8、.1.3 文件的写入,(2)file_put_contents()函数。PHP 5还引入了file_put_contents()函数。这个函数的功能与依次调用fopen()、fwrite()及fclose()函数的功能一样。语法格式如下:int file_put_contents(string$filename,string$data,int$flags,resource$context)写入成功后函数返回写入的字节数,否则返回FALSE。例如:,5.1.3 文件的写入,(3)fputcsv()函数。CSV是一种比较常用的文件格式,一般以.csv作为扩展名。CSV格式把文件的一行看做是一条记录
9、,记录里的字段使用逗号分隔。在PHP中使用fputcsv()函数可以把指定的数组格式化为符合CSV文件格式的内容,并写入文件指针指向的当前行。语法格式如下:int fputcsv(resource$handle,array$fields,string$delimiter,string$enclosure)说明:参数$handle是要写入的文件句柄。参数$fields是要格式化的数组。可选的$delimiter参数用于设定字段分界符(只允许一个字符),默认为逗号。可选的$enclosure参数设定字段环绕符(只允许一个字符),默认为双引号。例如:,5.1.4 文件的读取,1读取任意长度fread
10、()函数可以用于读取文件的内容,语法格式如下:string fread(resource$handle,int$length)说明:参数$handle是已经打开的文件指针,$length是指定读取的最大字节数,$length的最大取值为8192。如果读完$length个字节数之前遇到文件结尾标志(EOF),则返回所读取的字符,并停止读取操作。如果读取成功则返回所读取的字符串,如果出错返回FALSE。例如:,5.1.4 文件的读取,程序运行结果显示一个网页,如图5.1所示。,5.1.4 文件的读取,注意:在读取文件后显示文件内容时,文本中可能含有无法直接显示的字符,如HTML标记。这时需要使用h
11、tmlspecialchars()函数将HTML标记转化为实体才能显示文件中的字符。例如,html目录下有一个1.php文件,文件内容为“”,如果读取文件后直接显示,则显示不出其中字符,要显示其中的内容可以使用以下代码:转化为实体并输出 fclose($handle);?,5.1.4 文件的读取,2读取整个文件(1)file()函数。file()函数用于将整个文件读取到一个数组中,语法格式如下:array file(string$filename,int$flags,resource$context)参数$filename是读取的文件名。从PHP 5起,$flags可以是以下一个或多个常量。F
12、ILE_USE_INCLUDE_PATH:在 include_path 中查找文件。FILE_IGNORE_NEW_LINES:在数组每个元素的末尾不要添加换行符。FILE_SKIP_EMPTY_LINES:跳过空行。参数$context的意义与之前介绍的相同,这里不具体解释。例如:;/输出内容这是文件1?,5.1.4 文件的读取,(2)readfile()函数。readfile()函数用于输出一个文件的内容到浏览器中,语法格式如下:int readfile(string$filename,bool$use_include_path,resource$context)例如,读取html目录下的
13、1.txt文件中的内容到浏览器中:最终输出:这是文件19,5.1.4 文件的读取,(3)fpassthru()函数。fpassthru()函数可以将给定的文件指针从当前的位置读取到EOF,并把结果写到输出缓冲区。要使用这个函数,必须先使用fopen()函数打开文件,然后将文件指针作为参数传递给fpassthru()函数,fpassthru()函数把文件指针所指向的文件内容发送到标准输出。如果操作成功返回读取到的字节数,否则返回FALSE。例如:,5.1.4 文件的读取,(4)file_get_contents()函数。file_get_contents()函数可以将整个或部分文件内容读取到一个
14、字符串中,功能与依次调用fopen()、fread()及fclose()函数的功能一样。语法格式如下:string file_get_contents(string$filename,bool$use_include_path=false,resource$context,int$offset,int$maxlen)说明:$filename是要读取的文件名,可选参数$use_include_path用来触发include_path查找;参数$context的意义与之前介绍的相同,这里不具体解释;$offset可以指定从文件头开始的偏移量,函数可以返回从$offset所指定的位置开始长度为$ma
15、xlen的内容。如果失败,函数将返回FALSE。例如:,5.1.4 文件的读取,3读取一行数据(1)fgets()函数。fgets()函数可以从文件中读出一行文本,语法格式如下:string fgets(resource$handle,int$length)说明:$handle是已经打开的文件句柄,可选参数$length指定了返回的最大字节数,考虑到行结束符,最多可以返回length1个字节的字符串。如果没有指定$length,默认为1024个字节。例如:;fclose($handle);/关闭文件?,5.1.4 文件的读取,(2)fgetss()函数。fgetss()函数的作用与fgets(
16、)函数基本相同,也是从文件指针处读取一行数据,不过fgetss()函数会尝试从读取的文本中去掉任何HTML和PHP标记。语法格式如下:string fgetss(resource$handle,int$length,string$allowable_tags)例如,假设html目录下的1.txt第一行内容为“php”,显示内容时不显示“php”的加黑效果可以使用以下代码:,5.1.4 文件的读取,(3)fgetcsv()函数。fgetcsv()函数可以读取指定文件的当前行,使用CSV格式解析出字段,并返回一个包含这些字段的数组。语法格式如下:array fgetcsv(resource$han
17、dle,int$length,string$delimiter,string$enclosure,string$escape),5.1.4 文件的读取,说明:$handle是打开的文件句柄,$length指定获取的字符的最大长度。可选的$delimiter参数用于设定字段分界符(只允许一个字符),默认为逗号。可选的$enclosure参数设定字段环绕符(只允许一个字符),默认为双引号。可选的$escape设定转义字符(只允许一个字符),默认是反斜杠(新增)。例如:第.$row.行:;$row+;for($c=0;$c;/输出数组内容 fclose($handle);?,5.1.4 文件的读取,
18、输出结果如下:第1行:学号 姓名 专业名 性别第2行:1 王林 计算机 男第3行:2 李霞 通信工程 女,5.1.4 文件的读取,4读取一个字符fgetc()函数。fgetc()函数可以从文件指针处读取一个字符,语法格式为:string fgetc(resource$handle)该函数返回$handle指针指向的文件中的一个字符,遇到EOF则返回FALSE。例如::$char);?,5.1.4 文件的读取,5使用指定格式读取文件fscanf()函数。fscanf()函数可以读取文件中的数据,并根据指定的格式进行格式化,并返回一个数组。语法格式如下:mixed fscanf(resource$
19、handle,string$format,mixed&$.)格式字符串中的任何空白会与输入流中的任何空白匹配。这意味着甚至格式字符串中的制表符“t”也会与输入流中的一个空格字符匹配。例如,html目录下的1.txt文件有以下几行数据:课程号 课程名 学分101 计算机基础 5102 程序设计与语言 4206 离散数学 4208 数据结构 4,5.1.4 文件的读取,要显示这些数据可以使用以下代码:;/输出数据 fclose($handle);?,5.1.5 文件的上传与下载,1文件上传$_FILES是一个二维数组,上传后的文件信息可以使用以下形式获取:$FILESfilename。客户端上传的
20、原文件名。其中,“file”是HTML表单中文件域控件的名称。$FILESfiletype。上传文件的类型,需要浏览器提供该信息的支持。常用的值有:“text/plain”表示普通文本文件;“image/gif”表示GIF图片;“image/pjpeg”表示JPEG图片;“application/msword”表示word文件;“text/html”表示html格式的文件;“application/pdf”表示PDF格式文件;“audio/mpeg”表示mp3格式的音频文件;“application/x-zip-compressed”表示ZIP格式的压缩文件;“application/octe
21、t-stream”表示二进制流文件,如EXE文件、RAR文件、视频文件等。$FILESfiletmp_name。文件被上传后在服务端储存的临时文件名。$FILESfilesize。已上传文件的大小,单位为字节。$FILESfileerror。错误信息代码。值为0表示没有错误发生,文件上传成功;值为1表示上传的文件超过了php.ini文件中upload_max_filesize选项限制的值;值为2表示上传文件的大小超过了HTML表单中规定的最大值;值为3表示文件只有部分被上传;值为4表示没有文件被上传;值为5表示上传文件大小为0。,5.1.5 文件的上传与下载,【例5.1】将由HTML表单上传的
22、GIF图片文件移动到html目录下。新建EX5_1.php文件,输入代码。说明:运行程序后单击文件域的【浏览】按钮,选择一张GIF格式的图片后单击【上传文件】按钮,运行结果如图5.2所示。,5.1.5 文件的上传与下载,2文件下载header()函数的作用是向浏览器发送正确的HTTP报头,报头指定了网页内容的类型、页面的属性等信息。header()函数的功能很多,这里只列出以下几点:页面跳转。如果header()函数的参数为“Location:xxx”,页面就会自动跳转到“xxx”指向的URL地址。例如:header(Location:http:/);/跳转到百度页面header(Locati
23、on:first.php);/跳转到工作目录的first.php页面 指定网页内容。例如,同样的一个XML格式的文件,如果header()函数的参数指定为“Content-type:application/xml”,浏览器会将其按照XML文件格式来解析。但如果是“Content-type:text/xml”,浏览器就会将其看做文本解析。,5.1.5 文件的上传与下载,文件下载。header()函数结合readfile()函数可以下载将要浏览的文件,例如,下载html目录下的1.txt文件可以使用以下代码:,5.1.5 文件的上传与下载,说明:以上这段代码执行后会弹出“文件下载”对话框,单击【保
24、存】按钮选择新地址保存该文件即实现了文件的下载,新文件名为index.txt,如图5.3所示。,5.1.6 其他常用文件函数,1计算文件大小之前使用过的filesize()函数用于计算文件的大小,以字节为单位。例如:,5.1.6 其他常用文件函数,2判断文件是否存在如果希望在不打开文件的情况下检查文件是否存在,可以使用file_exists()函数。函数的参数为指定的文件或目录,如果该文件或目录存在,则返回TRUE,否则返回FALSE。例如:,5.1.6 其他常用文件函数,3删除文件使用unlink()函数可以删除不需要的文件,如果成功,将返回TRUE,否则返回FALSE。例如:,5.1.6
25、其他常用文件函数,4复制文件在文件操作中经常会遇到要复制一个文件或目录到某个文件夹的情况,在PHP中使用copy()函数来完成此操作,语法格式如下:bool copy(string$source,string$dest,resource$context)说明:参数$source为需要复制的源文件,参数$dest为目标文件,参数$context(新增)的意义与之前介绍的相同,这里不具体解释。复制后的新文件中内容与源文件完全相同,并且在复制文件的同时,也可以为新文件重新命名。如果复制成功则返回TRUE,否则返回FALSE。如果目标文件已经存在,则将被覆盖。例如:,5.1.6 其他常用文件函数,5移
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- PHP 常用 功能模块

链接地址:https://www.31ppt.com/p-6514664.html