《常用的PHP5内部函数.ppt》由会员分享,可在线阅读,更多相关《常用的PHP5内部函数.ppt(48页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第7章常用的PHP 5内部函数第7章 常用的PHP 5内部函数n7.1 日期和时间函数日期和时间函数n7.2 文件操作函数文件操作函数n7.3 字符串处理函数字符串处理函数n7.4 正则表达式函数正则表达式函数n7.5 FTP函数函数n7.6 MAIL函数函数7.1日期和时间函数n1checkdate()函数bool checkdate(int month,int day,int year);该函数检查输入的年、月、日三个参数是否是有效的日期,若是返回true,否则返回false。年份的值从032767,月份的值从l12,日期的值由月份及相应的年份决定。【例7.1】checkdate()函数应
2、用示例,文件名为ex7_1.php。7.1日期和时间函数n2.date()函数string date(string format,int timestamp)该函数格式化一个本地时间日期。返回值是将整数timestamp按照给定的format参数格式要求而产生的字符串。如果没有给出时间戳timestamp,则使用本地当前时间。format参数用来指定显示本地时间/日期的格式字符串,其值可以包括表7.1规定的字符和其它普通字符。7.1日期和时间函数n其它略.表7.1 常用format参数format 参数说明返回值例子A大写的上午和下午值AM 或 PMa小写的上午和下午值am 或 pmD星期中的
3、第几天,文本表示,3 个字母Mon 到 Sund月份中的第几天,有前导零的 2 位数字01 到 317.1日期和时间函数n【例7.2】date()函数的应用范例,文件名为ex7_2.php。n【例7.3】在date()中使用转义字符范例,文件名为ex7_3.php。n【例7.4】date()函数综合应用范例,文件名为ex7_4.php。7.1日期和时间函数n3.getdate()n格式:arraygetdate(inttimestamp)n该函数获得日期时间信息。返回值是一个根据timestamp参数得出的包含有日期信息的数组。如果没有给出时间戳则认为是当前本地时间。数组中各元素的键名及说明范
4、例如表7.2所示。表7.2 getdate()返回的数组的键名及说明键名说明返回的数组元素值例子seconds秒的数字表示0 到 59minutes分钟的数字表示0 到 59hours小时的数字表示0 到 23mday月份中第几天的数字表示1 到 31wday星期中第几天的数字表示0(表示星期天)到 6(表示星期六)mon月份的数字表示1 到 12year4 位数字表示的完整年份例如:1999 或 2003yday一年中第几天的数字表示0 到 365weekday星期几的完整文本表示Sunday 到 Saturdaymonth月份的完整文本表示January 到 December0自从Unix
5、纪元开始至今的秒数,和 time()的返回值以及用于date()的值类似。系统相关,典型值为从-2147483648 到 2147483647。7.1日期和时间函数n【例7.5】getdate()函数应用范例,文件名为ex7_5.php。7.1日期和时间函数n4.time()函数n格式:inttime()n返回当前的Unix时间戳,其值是自从Unix纪元(格林威治时间1970年1月1日00:00:00)到当前时间的秒数。n【例7.6】time()函数应用范例,文件名为ex7_6.php。7.2 文件操作函数文件操作函数n1.fopen()函数n格式:resourcefopen(stringfi
6、lename,stringmode,booluse_include_path,resourcecontext)n该函数打开一个文件或者URL。如果打开文件成功,返回值是一个表示该文件或URL网页资源的指针。如果打开失败,本函数返回FALSE。7.2 文件操作函数文件操作函数n【例7.7】fopen()函数应用范例,文件名为ex7_7.php。7.2 文件操作函数文件操作函数n2.fclose()函数n格式:boolfclose(resourcehandle)n该函数关闭一个已打开的文件。handle参数为要关闭的文件指针。如果成功则返回TRUE,失败则返回FALSE。n【例7.8】fclose
7、()函数应用范例,文件名为ex7_8.php。7.2 文件操作函数文件操作函数n3.fgetc()函数n格式:stringfgetc(resourcehandle)n该函数从文件指针所指向的文件中读取一个字符,返回一个包含有一个字符的字符串。如果读取的是文件结束符EOF,则返回FALSE。n【例7.9】fgetc()例子,文件名为ex7_9.php。7.2 文件操作函数文件操作函数n4.fgets()函数n格式:stringfgets(inthandle,intlength)n该函数从文件指针handle参数指向的文件中读取一行,并返回长度最多为length-1字节的字符串。如果读取到换行符(
8、包括在返回值中)、EOF或者已经读取了length-1字节后停止。如果没有指定length,则默认为1024字节。出错时返回FALSE。n【例7.10】fgets()函数应用范例,文件名为ex7_10.php。7.2 文件操作函数文件操作函数n5.fgetss()函数n格式:stringfgetss(resourcehandle,intlength,stringallowable_tags)n该函数从文件中读取一行并过滤掉HTML和PHP标记。它和fgets()相同,只除了fgetss尝试从读取的文本中去掉任何HTML和PHP标记。可以用可选的第三个参数指定哪些标记不被去掉。7.2 文件操作函
9、数文件操作函数n6.file()函数n格式:arrayfile(stringfilename,intuse_include_path,resourcecontext)n该函数把整个文件读入一个数组中。将文件内容作为一个数组返回。数组中的每个元素存放文件中相应的一行,包括换行符在内。如果失败,则返回FALSE。nfilename参数是文件名,use_include_path参数同fopen()函数。n【例7.11】file()函数应用范例,文件名为ex7_11.php。7.2 文件操作函数文件操作函数n7fread()函数n格式:stringfread(inthandle,intlength)n
10、该函数从文件指针handle所指向的文件中读取最多length字节。该函数在读取完length个字节数,或到达EOF的时候,就会停止读取文件。n【例7.12】fread()函数应用范例,文件名为ex7_12.php。7.2 文件操作函数文件操作函数n8.fwrite()函数n格式:intfwrite(resourcehandle,stringstr,intlength)n该函数把str参数的内容写入文件指针handle所指向的文件。如果指定了length,当写入了length个字节或者写完了str以后,写入就会停止。fwrite()返回写入的字符数。如果写入错误,则返回FALSE。n【例7.1
11、3】fwrite()函数应用范例,文件名为ex7_13.php。7.2 文件操作函数文件操作函数n9.文件通用操作函数n(1)copy()函数n格式:boolcopy(stringsourcefile,stringdestfile)n该函数将文件sourcefile的内容拷贝到文件destfile。如果成功则返回TRUE,失败则返回FALSE。Sourcefile参数和destfile参数都是文件名字符串。n【例7.14】copy()函数应用范例,文件名为ex7_14.php。n(2)unlink()函数n格式:boolunlink(stringfilename)n该函数删除filename参
12、数指定的文件。如果成功则返回TRUE,失败则返回FALSE。7.3 字符串处理函数字符串处理函数n1.strtoupper(),strtolower()n格式:stringstrtoupper(stringstr)nstringstrtolower(stringstr)n这两个函数用来转换英文的大小写。strtoupper()将指定的字符串str转换后得到全部大写的字符串;strtolower()将指定的字符串str转换后得到全部小写的字符串。n【例7.15】strtoupper()、strtolower()函数应用范例,文件名为ex7_15.php。7.3 字符串处理函数字符串处理函数n2.
13、trim()函数n格式:stringtrim(stringstr,stringcharlist)n该函数删除字符串的首尾空格符及指定的字符。返回值是删除首尾空格符或指定字符后的字符串。charlist参数可以简单地列出要删除的字符,也可以用“.”指定要删除的字符的范围。n【例7.16】trim()函数应用范例,文件名为ex7_16.php。7.3 字符串处理函数字符串处理函数n3.strlen()函数n格式:intstrlen(stringstr)n该函数求指定字符串的长度。返回值是字符串中包含的字符个数。n【例7.17】strlen()函数应用范例,文件名为ex7_17.php。7.3 字符
14、串处理函数字符串处理函数n4substr()函数n格式:stringsubstr(stringstr,intstart,intlength)n该函数求取字符串的一部分子字符串。n说明:n(1)substr()函数从字符串str中取出从start开始,长度为length个数的字符串。n(2)如果无参数length,表示取到字符串的末尾;n(3)若start为负数,从字符串str的末尾倒数start个字节开始取;n(4)如果length出为负数,表示取到倒数第length个字符。n【例7.18】substr()例子,文件名为ex7_18.php。7.4 正则表达式函数正则表达式函数n正则表达式的用
15、途是建立一个“匹配”,包含了字符串应出现的字符及长度。正则表达式函数可用来比较字符串的正确性以及进行相关处理的工作。表7.3常用的正则表达式正则表达式正则表达式符合条件符合条件范例范例AaBbCcDd0123AaBbCcDd0123若比较字符为括号中的字符则符合若比较字符为括号中的字符则符合B B、c c、2 2A-ZA-Z若比较字符为大写字母则符合若比较字符为大写字母则符合C C、G G、Y Y0-90-9若比较字符为数字则符合若比较字符为数字则符合0 0、3 3、8 8a-z0-9a-z0-9字符串中若含有如字符串中若含有如b0b0、k6k6等字符串则符合等字符串则符合 c2c2、i9i9
16、a-z3a-z3由匹配中字符组成的包含由匹配中字符组成的包含3 3个字符的字符串个字符的字符串abdabd、ghkghka-z3a-z3,66由匹配中字符组成的包含由匹配中字符组成的包含3 3到到6 6个字符的字符串个字符的字符串abcabc、abcdeabcdea-z3a-z3,由匹配中字符组成的包含由匹配中字符组成的包含3 3个以上字符的字符串个以上字符的字符串abefdhkabefdhka-z+a-z+由匹配中字符组成的包含由匹配中字符组成的包含1 1个以上字符的字符串个以上字符的字符串a a、abab、abdfabdfa-z*a-z*字符串为空集合或者由匹配中字符组成的字符字符串为空集
17、合或者由匹配中字符组成的字符串串a a、cdcd、cdffcdff7.4 正则表达式函数正则表达式函数n1.ereg()函数n格式:boolereg(stringpattern,stringstr,arrayregs)n该函数以区分大小写的方式在字符串str中寻找与给定的正则表达式pattern所匹配的子串。如果找到与pattern中圆括号内的子模式相匹配的子串,并且函数调用给出了第三个参数regs,则匹配项将被存入regs数组中。$regs1包含第一个左圆括号开始的子串,$regs2包含第二个子串,以此类推。$regs0包含整个匹配的字符串。n如果在str中找到pattern模式的匹配则返回
18、TRUE,如果没有找到匹配或出错则返回FALSE。n【例7.19】ereg()函数应用范例,文件名为ex7_19.php。7.4 正则表达式函数正则表达式函数n2.ereg_replace()函数n格式:stringereg_replace(stringpattern,stringreplacement,stringstr)n该函数在str参数中扫描与pattern参数匹配的部分,并将其替换为replacement。n返回替换后的字符串。如果没有可供替换的匹配项,则返回原字符串。n【例7.20】ereg_replace()函数应用范例,文件名为ex7_20.php。7.4 正则表达式函数正则表
19、达式函数n3.eregi()函数n格式:booleregi(stringpattern,stringstr,arrayregs)n该函数用于不区分大小写的正则表达式匹配。它和ereg()完全相同,只除了在匹配字母字符时忽略大小写的区别。n【例7.21】eregi()函数应用范例,文件名为ex7_21.php。7.4 正则表达式函数正则表达式函数n4.eregi_replace()函数n格式:stringeregi_replace(stringpattern,stringreplacement,stringstr)n该函数用于不区分大小写替换正则表达式。它和ereg_replace()完全相同,
20、只除了在匹配字母字符时忽略大小写的区别,故这里不作详细介绍。7.4 正则表达式函数正则表达式函数n5.split()函数n格式:arraysplit(stringpattern,stringstr,intlimit)n该函数用正则表达式将字符串分割到数组中。返回值是一个字符串数组,每个数组元素的值是str经区分大小写的正则表达式pattern作为边界分割出的子串。如果设定了limit参数,则返回的数组最多包含limit个数组元素,而其中最后一个数组元素包含了str中剩余的所有部分。如果出错,则split()函数返回FALSE。n【例7.22】split()函数应用范例,文件名为ex7_22.p
21、hp。n【例7.23】用split()解析可能用斜线、点、或横线分割的日期,文件名为ex7_23.php。7.4 正则表达式函数正则表达式函数n6spliti()函数n格式:arrayspliti(stringpattern,stringstr,intlimit)n该函数用正则表达式不区分大小写将字符串分割到数组中。它和split()相同,只除了在匹配字母字符时忽略大小写的区别。7.4 正则表达式函数正则表达式函数n7sql_regcase()函数n格式:stringsql_regcase(stringstr)n该函数将字符串逐字返回大小写字母的正则表达式。返回与str逐字相对应的大小写字母字
22、符串的正则表达式。返回的表达式是将str中的每个字母字符转换为方括号表达式,该方括号表达式包含了该字母的大小写形式。其它字符保留不变。它可用于在仅支持区分大小写正则表达式的软件中完成不区分大小写的模式匹配。n【例7.24】sql_regcase()函数示例,文件名为ex7_24.php。7.5 FTP函数函数n1ftp_connect()函数n格式:resourceftp_connect(stringhost,intport,inttimeout)n该函数建立一个新的FTP连接。如果成功,返回一个连接标识号(ftpstream)。失败则返回FALSE。nhost参数为要连接的FTP服务器主机名
23、,host后面不应以斜线结尾,前面也不需要用ftp:/开头。可选参数port为要连接到的FTP服务器的端口号,如果设置为0,则会按照默认端口21连接。可选参数timeout用来设置网络传输的超时时间限制。超时时间可以在任何时候通过函数ftp_set_option()及ftp_get_option()来改变或修改。n【例7.25】ftp_connect()函数应用范例,文件名为ex7_25.php。7.5 FTP函数函数n2.ftp_login()函数n格式:boolftp_login(resourceftp_stream,stringusername,stringpassword)n该函数用来
24、登录FTP服务器。使用用户名usename和密码password登录到由FTP连接标识号ftp_stream指定的FTP服务器。如果成功则返回TRUE,失败则返回FALSE。n【例7.26】ftp_login()函数应用范例,文件名为ex7_26.php。7.5 FTP函数函数n3.ftp_nlist()函数n格式:arrayftp_nlist(resourceftp_stream,stringdirectory)n该函数返回FTP服务器中指定目录的文件列表。如果成功则返回给定目录directory下的文件名组成的数组,否则返回FALSE。n【例7.27】ftp_nlist()函数应用范例,文
25、件名为ex7_27.php。7.5 FTP函数函数n4.ftp_systype()函数n格式:stringftp_systype(resourceftp_stream)n该函数获得远程FTP服务器的系统类型。返回远程FTP服务器的系统类型,如果发生错误则返回FALSE。此函数等价于在FTP服务器下执行system或syst指令。ftp_stream参数为FTP的连接标识号。n【例7.28】ftp_systype()函数应用范例,文件名为ex7_28.php。7.5 FTP函数函数n5.ftp_get()函数n格式:boolftp_get(resourceftp_stream,stringloc
26、al_file,stringremote_file,intmode,intresumepos)n该函数从FTP服务器上下载指定的文件。ftp_get()函数用来下载FTP服务器上由remote_file参数指定的文件,并保存到由local_file参数指定的本地文件。传送模式mode参数只能为FTP_ASCII(文本模式)或FTP_BINARY(二进制模式)之一。如果成功则返回TRUE,失败则返回FALSE。n需要说明的是,所谓本地文件local_file,是对FTP服务器而言的,也就是PHP代码所在的机器,而不是用户浏览器所在的计算机。参数resumepos仅适用于以上版本,指remote_
27、file文件中指定的位置。n【例7.29】ftp_get()函数应用范例,文件名为ex7_29.php。7.5 FTP函数函数n6.ftp_fget()函数n格式:boolftp_fget(resourceftp_stream,resourcehandle,stringremote_file,intmode,intresumepos)n该函数从FTP服务器下载文件并保存到本地文件中。ftp_fget()函数用来下载由remote_file指定的文件,并写入到本地已经被打开的一个文件中。handle参数为本地已经打开的文件句柄。传送模式参数mode必须是FTP_ASCII(文本模式)或FTP_B
28、INARY(二进制模式)之一。如果成功则返回TRUE,失败则返回FALSE。7.5 FTP函数函数n7.ftp_put()函数n格式:boolftp_put(resourceftp_stream,stringremote_file,stringlocal_file,intmode,intstartpos)n该函数用来上传本地文件到FTP服务器。ftp_put()函数用来上传由local_file参数指定的文件到FTP服务器,上传后的位置由remote_file指定。传输模式参数mode只能为FTP_ASCII(文本模式)或FTP_BINARY(二进制模式)。startpos参数指定本地文件lo
29、cal_file开始上传的位置。如果上传成功则返回TRUE,失败则返回FALSE。n【例7.30】ftp_put()函数应用范例,文件名为ex7_30.php。7.5 FTP函数函数n8.ftp_fput()函数n格式:boolftp_fput(resourceftp_stream,stringremote_file,resourcehandle,intmode,intstartpos)n该函数用来上传一个在已经打开的文件中的数据到FTP服务器,参数handle为已打开的文件句柄,remote_file参数为上传到服务器上的文件名。传输模式参数mode只能为FTP_ASCII(文本模式)或FT
30、P_BINARY(二进制模式)。如果成功则返回TRUE,失败则返回FALSE。n【例7.31】ftp_fput()函数应用范例,文件名为ex7_31.php。7.5 FTP函数函数n9.ftp_size()函数n格式:intftp_size(resourceftp_stream,stringremote_file)n返回FTP服务器中指定远程文件的大小(字节)。如果指定文件不存在或发生错误,则返回-1。有些FTP服务器可能不支持此特性。n【例7.32】ftp_size()函数应用范例,文件名为ex7_32.php。7.5 FTP函数函数n10.ftp_mdtm()函数n格式:intftp_md
31、tm(resourceftp_stream,stringremote_file)n该函数返回FTP服务器中指定文件的最后修改时间,并以UNIX时间戳的方式返回。如果发生错误,或文件不存在则返回-1。n【例7.33】ftp_mdtm()函数应用范例,文件名为ex7_33.php。7.5 FTP函数函数n11.ftp_rename()函数n格式:boolftp_rename(resourceftp_stream,stringfrom,stringto)n该函数用来更改FTP服务器上指定文件的名字,即把参数from指定的文件或目录更名为to参数指定的名字。如果改名成功则返回TRUE,失败则返回FAL
32、SE。7.5 FTP函数函数n12.ftp_delete()函数n格式:boolftp_delete(resourceftp_stream,stringpath)n该函数删除FTP服务器上的一个由参数path指定的的文件。如果成功则返回TRUE,失败则返回FALSE。7.5 FTP函数函数n13.ftp_close()函数n格式:voidftp_close(resourceftp_stream)n该函数关闭一个活动的FTP连接并释放所占用的资源。使用该函数后将不能再使用当前的FTP连接,如果要进行相关操作,必须再次使用ftp_connect()函数来建立一个新的连接。nftp_quit()函数
33、是ftp_close()函数的别名。n【例7.34】ftp函数应用的综合范例,文件名为ex7_34.php。7.6 MAIL函数函数n发送电子邮件的函数是mail()函数,格式如下:n格式:boolmail(stringto,stringsubject,stringmessage,stringadditional_headers)nmail()函数自动将参数message指定的邮件内容发送给由参数to指定的接收者。在to参数中用逗号或空格分隔每个电子邮件地址,就可以指定多个收件人。Subject表示邮件的主题,选项参数additional_headers可省略,表示额外的头信息。发送mail的路径设置在php.ini配置文件的sendmail_path选项中。n【例7.35】mail()函数应用范例,文件名为ex7_35.php。7.6 MAIL函数函数n【例7.36】用额外字头发送邮件,文件名为ex7_36.php。n【例7.37】邮件发送网页设计范例,文件名为sendmail.php。
限制150内