php8.2,php820

http://www.itjxue.com  2023-01-08 22:05  来源:未知  点击次数: 

为什么错误控制运算符@不起作用,仍会输出错误,我使用的PHP版本为8.2.0?

第一、是否搭配好了php运行环境?

第二、你的代码文件格式是否php文件?

第三、该文件是否在php环境下运行的?

做到这3点,保证你不会出现这种问题!

例外,你的代码语法没有问题,但逻辑有问题!

php的一个百分比统计问题

4个字段没错,但要增加一个字段用于排名,这个字段存平均值,即你上面的综合评分。

否则可能导致无法使用索引。

另外这个评分是10分制,而非100分制。

字段存储的值如:8.1,8.2等直接存储10分制数值就行。

score1-4的算法:

方法一:不计效率的话,直接从数据库sum就完了

SQL: SELECT company_id, count(*) as num, sum(score1) as score1,sum(score2) as score2,sum(score3) as score3, sum(score4) as score4 from 评分表 where company_id in(1,2,3) group by company_id ;

最终得到结果,示例算法: score1 = round(score1 / num, 1);

方法二:

如果考虑效率问题,比如评论数可能会草果万,十万,百万。

则建议再增加5个字段分别存储总评分值和总评分人数。

total_score1, total_score2, total_score3, total_score4, score_num,

每次评论时增加这两个值:total_score1 = total_score1+这次评分score1,score_num = score_num + 1

最终score1 = total_score1 / score_num;

综合评分: score5 = round((score1 + score2 + score3 + score4) / 4 ,1);

排名在显示时差数据库,假设当前score5 = $socre5:

select count(*) from company where score5$score5;

如果company 表很大,建议走计划任务跑数据。

如果表很大但我只要前100名,可以另外建一个表或者缓存,

然后在更新score5 时去判断是否在大于现在100名中的最小一名,如果是就把最小的踢掉,如果不是,就什么也不用做,当然如果这个本身就是这100名中的,那么可能比较麻烦,但是其实你不需要那么老实的存储100名,你可以存储150名,阵中用时就前100名,即便有人从100名中掉队,也可以从后面的50名中取一个上来替代到新的100名中。

有没有什么好的学习php的路线啊大神们

学习php路线:

第一阶段

第一讲,WEB基础

1.1 网站基本知识;

1.2 网络协议介绍;

1.3 B/S与C/S结构的区别;

1.4 WEB编程、网站开发技术介绍。第二讲,网页设计 2.1 Dreamweaver介绍及使用;

2.2 静态网页HTML语言;

2.3 标题与段落,换行与分割线;

2.4 表格、表单;

2.5 框架、超链接、图片。 实例:1,使用表格进行网页布局设计;

2,使用表单、表格、框架进行系统后台界面设计。第三讲,DIV+CSS 3.1 CSS的概念及基本语法;

3.2 用CSS设置丰富的文字效果设置图片效果;

3.3 用CSS设置表格与表单的样式,用CSS设置页面和浏览器的元素;

3.4 CSS盒模型;

3.7 CSS+DIV布局,CSS+DIV美化与布局实战。 实例:1,使用DIV+CSS设计按钮及Tab;

2,使用DIV+CSS设计导航菜单;

3,使用DIV+CSS设计论坛网页;

4,使用DIV+CSS设计博客网页。第四讲,PHP开发环境 4.1 集成开发环境XAMPP安装;

4.2 Zend Studio的安装、配置;

4.3 Eclipse PDT的安装与配置;

4.4 编写第一个PHP程序;

4.5 调试PHP程序。第五讲,PHP编程基础 5.1 PHP语言特性与发展趋势;

5.2 PHP变量常量数据类型;

5.3 PHP运算符与表达式;

5.4 PHP流程控制语句;

5.5 PHP函数。第六讲,MySQL开发基础 6.1 MySQL数据库系统介绍及安装;

6.2 MySQL数据类型介绍;

6.3 MySQL表的创建、修改与删除;

6.4 MySQL查询语句;

6.5 PHP MySQL函数使用详解。 实例:1,论坛数据库表设计;

2,PHP连接MySQL数据库,实现增删改查。第七讲,Web2.0开发技术Ajax 7.1 JavaScript介绍;

7.2 JavaScript语法基础;

7.3 DOM对象基础及事件;

7.4 Ajax核心对象XMLHttpRequest详解;

7.5 Ajax异步通信原理;

7.6 开发Ajax应用;

7.6 Ajax框架jQuery介绍及使用。 实例:1,Tab的动态切换效果;

2,论坛系统中使用Ajax方式验证用户名是否被注册;

3,论坛系统中通过Ajax方式获取用户信息。第八讲,PHP Web2.0网站实例开发 8.1

Web2.0风格的论坛系统开发;

8.2 Web2.0风格的博客系统实战开发。 实例:1,综合DIV+CSS +PHP+MySQL+Ajax技术

开发论坛;

2,综合DIV+CSS +PHP+MySQL+Ajax技术开发博客系统。

第二阶段第一讲,PHP面向对象基础 1.1 面向对象编程介绍;

1.2 面向过程与面向对象的区别;

1.3 面向对象的基本特性;

1.4 类、属性和方法;

1.5 构造函数;

1.6 类的实例化;

1.7 使用类的属性和方法;

1.8 类的访问控制;

1.9 类的继承与多态;

1.10 面向对象的接口及抽象类;

1.11 类、对象及对象之间的关系;

1.12 几个常见的运算符和关键字。 实例:1,购物车对象关系设计;

2,班级、学生、课程、考试对象关系设计。第二讲,PHP模板技术Smarty框架 2.1 Smarty模板技术介绍;

2.2 Smarty安装与配置;

2.3 Smarty 变量与变量修饰符;

2.4 Smarty分支结构;

2.5 Smarty循环结构;

2.6 Smarty保留变量;

2.7 Smarty生成静态页面;

2.8 Smarty内置函数详解。 实例:1,使用Smarty实现购物车的现实;

2,使用Smarty实现产品增删改查页面。第三讲,数据库抽象层PDO 3.1 PDO简介、安装与配置;

3.2 PDO连接MySQL数据库;

3.3 PDO执行SQL语句;

3.4 使用PDO实现数据的增删改查。

实例:1,使用PDO连接数据,实现产品的信息的增删改查功能。第四讲,MVC框架介绍及应用开发 4.1 MVC设计思想;

4.2 MVC框架的介绍、安装、配置;

4.3 使用MVC框架开发项目;

4.4 MVC框架中使用PDO;

4.5 MVC框架中使用Smarty模板技术;

4.6 使用MVC框架实现增删改查功能。 实例:1,使用MVC框架实现用户的注册、登录。

2,使用MVC框架实现产品信息的管理。第五讲,Ajax框架技术 5.1 jQuery框架的介绍与安装;

5.2 jQuery的事件处理;

5.3 jQuery的DOM对象处理;

5.4 jQuery对CSS的处理;

5.5 jQuery中的异步调用;

5.6 jQuery中的UI库使用;

5.6 Mootools常用函数、类及继承;

5.7 Mootools异步调用;

5.8 Mootools中对DOM对象处理;

5.9 Mootools中的事件机制;

5.10 Ajax实例开发。 实例:1,使用jQuery实现下拉菜单;

2,使用jQuery实现用户注册时采用异步方式实现用户名是否唯一的检验;

3,使用jQuery实现日期选择、滑动菜单、级联菜单,等等。第六讲,MySQL数据库高级开发 6.1 MySQL复杂查询;

6.2 MySQL中的事务处理;

6.3 PHP中的事务处理;

6.4 MySQL中使用存储过程;

6.5 MySQL中使用触发器;

6.6 MySQL中的视图。 实例:1,网上商城中产品销量的统计报表复杂查询功能;

2,使用触发器、存储功能实现网上商城中会员积分的计算功能。第七讲,后台统计报表技术 7.1 水平柱状图的设计和实现;

7.2 垂直柱状图的设计和实现;

7.3 圆饼图的设计和实现;

7.4 报表数据的导出。 实例:1,网上商城后台销量统计报表。第八讲,PHP设计模式 8.1

什么是设计模式;

8.2 工厂模式;

8.3 单例模式;

8.4 命令模式;

8.5 策略模式;

8.6 观察者模式;

8.7 其他模式。第九讲,MVC框架的设计 9.1 MVC框架的设计;

9.2 MVC框架中应用设计模式;

9.3 MVC框架的控制层设计;

9.4 MVC框架的模型层设计;

9.5 MVC框架的视图层设计。 实例1,实现简单的MVC框架;

2,MVC框架的不同视图实现的设计。第十讲,MVC框架的设计 9.1 MVC框架的设计;

9.2 MVC框架中应用设计模式;

9.3 MVC框架的控制层设计;

9.4 MVC框架的模型层设计;

9.5 MVC框架的视图层设计。 实例1,实现简单的MVC框架;

2,MVC框架的不同视图实现的设计。第十一讲,大型网站开发技术要点 10.1 服务器集群技术介绍;

10.2 MySQL数据库引擎的选择;

10.3 缓存技术的使用;

10.4 页面加速、瘦身技术;

10.5 图片服务器分离,等等。第十二讲,网站项目实战开发 11.1

使用GladCMS内容管理系统开发大型网站系统(总站及多个子站),包括网站内容组织

策划、网站主题设计;

11.2 使用GladCMS系统开发在线商城系统,按实际的网站开发流程,进行需求分析、设计、

编码、测试及系统部署;

11.3 由老师选择项目或者由学员自选项目,多人组成团队开发。 按照企业实际的项目开发流程,组队开发项目。阶段考核

考核本阶段学习的知识点,及项目开发考核。 毕业设计 选择毕业设计项目,组队开发。

第三阶段第一讲,PHP开发框架Zend Framework 1.1 Zend Framework介绍;

1.2 Zend Framework控制器层;

1.3 Zend Framework视图层;

1.4 Zend Framework模型层;

1.4 Zend Framework国际化语言;

1.5 Zend Framework验证;

1.6 Zend Framework缓存机制。 实例:1,使用Zend Framework开发一个新闻后台管理系统;

2,使用Zend Framework开发会员管理系统。第二讲,Oracle数据库应用开发 6.1 Oracle数据安装;

6.2 Oracle数据库客户端安装;

6.3 Oracle脚本的编写;

6.4 PHP与Oracle数据的集成应用开发。

实例:1,使用PHP与Oracle设计网上商城后台管理系统。第三讲,使用Zend框架项目实战 2.1 商城系统需求分析;

2.2 商城系统的设计;

2.3 商城系统的编码与测试。 实例:1,开发在线客户服务系统;

2,网上商城系统前台与后台的开发。阶段考核 考核本阶段学习的知识点,及项目开发考核。 毕业设计

选择毕业设计项目,组队开发。

第四阶段第一讲,Linux基础应用 1.1计算机基础知识和操作系统功能;1.2

Linux系统的历史、现状和特点;1.3 Linux系统安装;1.4 系统分区部署;1.5

Linux常用命令(文件外理命令、权限管理命令、压缩解压命令等) 介绍;1.6 Shell应用技巧;1.7

Vim/Vi文本编辑器。第二讲,Linux系统管理 2.1系统管理概述;2.2

Linux系统引导流程解析;2.3常见配置文件介绍;2.4软件包管理;2.5用户、组和权限管理;2.6服务和进程管理;2.7计划任务;2.8文件系统管理和系统性能优化;2.9设备管理;2.10文件权限管理。第三讲,Linux网络管理 3.1

Linux基本网络配置;3.2远程管理控制(SSH、VNC、Webmin远程管理应用);3.3文件共享(Samba与FTP服务

器应用);

3.4 Apache服务器配置;3.5 Shell编程;3.6 Apache,MySQL和PHP

php练级步骤!

第一阶段第一讲,WEB基础 1.1 网站基本知识;1.2 网络协议介绍; 1.3 B/S与C/S结构的区别;1.4 WEB编程、网站开发技术介绍。 第二讲,网页设计 2.1 Dreamweaver介绍及使用;2.2 静态网页HTML语言; 2.3 标题与段落,换行与分割线;2.4 表格、表单;2.5 框架、超链接、图片。 实例:1,使用表格进行网页布局设计; 2,使用表单、表格、框架进行系统后台界面设计。第三讲,DIV+CSS 3.1 CSS的概念及基本语法;3.2 用CSS设置丰富的文字效果设置图片效果; 3.3 用CSS设置表格与表单的样式,用CSS设置页面和浏览器的元素;3.4 CSS盒模型;3.7 CSS+DIV布局,CSS+DIV美化与布局实战。 实例:1,使用DIV+CSS设计按钮及Tab; 2,使用DIV+CSS设计导航菜单;3,使用DIV+CSS设计论坛网页;4,使用DIV+CSS设计博客网页。第四讲,PHP开发环境 4.1 集成开发环境XAMPP安装;4.2 Zend Studio的安装、配置; 4.3 Eclipse PDT的安装与配置;4.4 编写第一个PHP程序;4.5 调试PHP程序。 第五讲,PHP编程基础 5.1 PHP语言特性与发展趋势;5.2 PHP变量常量数据类型; 5.3 PHP运算符与表达式;5.4 PHP流程控制语句;5.5 PHP函数。 第六讲,MySQL开发基础 6.1 MySQL数据库系统介绍及安装;6.2 MySQL数据类型介绍; 6.3 MySQL表的创建、修改与删除;6.4 MySQL查询语句;6.5 PHP MySQL函数使用详解。 实例:1,论坛数据库表设计; 2,PHP连接MySQL数据库,实现增删改查。第七讲,Web2.0开发技术Ajax 7.1 JavaScript介绍;7.2 JavaScript语法基础; 7.3 DOM对象基础及事件;7.4 Ajax核心对象XMLHttpRequest详解;7.5 Ajax异步通信原理;7.6 开发Ajax应用;7.6 Ajax框架jQuery介绍及使用。 实例:1,Tab的动态切换效果; 2,论坛系统中使用Ajax方式验证用户名是否被注册;3,论坛系统中通过Ajax方式获取用户信息。第八讲,PHP Web2.0网站实例开发 8.1 Web2.0风格的论坛系统开发;8.2 Web2.0风格的博客系统实战开发。 实例:1,综合DIV+CSS +PHP+MySQL+Ajax技术开发论坛; 2,综合DIV+CSS +PHP+MySQL+Ajax技术开发博客系统。 第二阶段第一讲,PHP面向对象基础 1.1 面向对象编程介绍;1.2 面向过程与面向对象的区别; 1.3 面向对象的基本特性;1.4 类、属性和方法;1.5 构造函数;1.6 类的实例化;1.7 使用类的属性和方法;1.8 类的访问控制;1.9 类的继承与多态;1.10 面向对象的接口及抽象类;1.11 类、对象及对象之间的关系;1.12 几个常见的运算符和关键字。 实例:1,购物车对象关系设计; 2,班级、学生、课程、考试对象关系设计。第二讲,PHP模板技术Smarty框架 2.1 Smarty模板技术介绍;2.2 Smarty安装与配置; 2.3 Smarty 变量与变量修饰符;2.4 Smarty分支结构;2.5 Smarty循环结构;2.6 Smarty保留变量;2.7 Smarty生成静态页面;2.8 Smarty内置函数详解。 实例:1,使用Smarty实现购物车的现实; 2,使用Smarty实现产品增删改查页面。第三讲,数据库抽象层PDO 3.1 PDO简介、安装与配置;3.2 PDO连接MySQL数据库; 3.3 PDO执行SQL语句;3.4 使用PDO实现数据的增删改查。 实例:1,使用PDO连接数据,实现产品的信息的增删改查功能。第四讲,MVC框架介绍及应用开发 4.1 MVC设计思想;4.2 MVC框架的介绍、安装、配置; 4.3 使用MVC框架开发项目;4.4 MVC框架中使用PDO;4.5 MVC框架中使用Smarty模板技术;4.6 使用MVC框架实现增删改查功能。 实例:1,使用MVC框架实现用户的注册、登录。 2,使用MVC框架实现产品信息的管理。第五讲,Ajax框架技术 5.1 jQuery框架的介绍与安装;5.2 jQuery的事件处理; 5.3 jQuery的DOM对象处理;5.4 jQuery对CSS的处理;5.5 jQuery中的异步调用;5.6 jQuery中的UI库使用;5.6 Mootools常用函数、类及继承; 5.7 Mootools异步调用;5.8 Mootools中对DOM对象处理;5.9 Mootools中的事件机制;5.10 Ajax实例开发。 实例:1,使用jQuery实现下拉菜单; 2,使用jQuery实现用户注册时采用异步方式实现用户名是否唯一的检验;3,使用jQuery实现日期选择、滑动菜单、级联菜单,等等。第六讲,MySQL数据库高级开发 6.1 MySQL复杂查询;6.2 MySQL中的事务处理; 6.3 PHP中的事务处理;6.4 MySQL中使用存储过程;6.5 MySQL中使用触发器;6.6 MySQL中的视图。 实例:1,网上商城中产品销量的统计报表复杂查询功能; 2,使用触发器、存储功能实现网上商城中会员积分的计算功能。第七讲,后台统计报表技术 7.1 水平柱状图的设计和实现;7.2 垂直柱状图的设计和实现; 7.3 圆饼图的设计和实现;7.4 报表数据的导出。 实例:1,网上商城后台销量统计报表。第八讲,PHP设计模式 8.1 什么是设计模式;8.2 工厂模式; 8.3 单例模式;8.4 命令模式;8.5 策略模式;8.6 观察者模式;8.7 其他模式。 第九讲,MVC框架的设计 9.1 MVC框架的设计;9.2 MVC框架中应用设计模式; 9.3 MVC框架的控制层设计;9.4 MVC框架的模型层设计;9.5 MVC框架的视图层设计。 实例1,实现简单的MVC框架; 2,MVC框架的不同视图实现的设计。第十讲,MVC框架的设计 9.1 MVC框架的设计;9.2 MVC框架中应用设计模式; 9.3 MVC框架的控制层设计;9.4 MVC框架的模型层设计;9.5 MVC框架的视图层设计。 实例1,实现简单的MVC框架; 2,MVC框架的不同视图实现的设计。第十一讲,大型网站开发技术要点 10.1 服务器集群技术介绍;10.2 MySQL数据库引擎的选择; 10.3 缓存技术的使用;10.4 页面加速、瘦身技术;10.5 图片服务器分离,等等。 第十二讲,网站项目实战开发 11.1 使用GladCMS内容管理系统开发大型网站系统(总站及多个子站),包括网站内容组织策划、网站主题设计;11.2 使用GladCMS系统开发在线商城系统,按实际的网站开发流程,进行需求分析、设计、编码、测试及系统部署; 11.3 由老师选择项目或者由学员自选项目,多人组成团队开发。 按照企业实际的项目开发流程,组队开发项目。阶段考核 考核本阶段学习的知识点,及项目开发考核。 毕业设计 选择毕业设计项目,组队开发。 第三阶段第一讲,PHP开发框架Zend Framework 1.1 Zend Framework介绍;1.2 Zend Framework控制器层; 1.3 Zend Framework视图层;1.4 Zend Framework模型层;1.4 Zend Framework国际化语言;1.5 Zend Framework验证;1.6 Zend Framework缓存机制。 实例:1,使用Zend Framework开发一个新闻后台管理系统; 2,使用Zend Framework开发会员管理系统。第二讲,Oracle数据库应用开发 6.1 Oracle数据安装;6.2 Oracle数据库客户端安装; 6.3 Oracle脚本的编写;6.4 PHP与Oracle数据的集成应用开发。 实例:1,使用PHP与Oracle设计网上商城后台管理系统。第三讲,使用Zend框架项目实战 2.1 商城系统需求分析;2.2 商城系统的设计; 2.3 商城系统的编码与测试。 实例:1,开发在线客户服务系统; 2,网上商城系统前台与后台的开发。阶段考核 考核本阶段学习的知识点,及项目开发考核。 毕业设计 选择毕业设计项目,组队开发。 第四阶段第一讲,Linux基础应用 1.1计算机基础知识和操作系统功能;1.2 Linux系统的历史、现状和特点;1.3 Linux系统安装;1.4 系统分区部署;1.5 Linux常用命令(文件外理命令、权限管理命令、压缩解压命令等) 介绍;1.6 Shell应用技巧;1.7 Vim/Vi文本编辑器。第二讲,Linux系统管理 2.1系统管理概述;2.2 Linux系统引导流程解析;2.3常见配置文件介绍;2.4软件包管理;2.5用户、组和权限管理;2.6服务和进程管理;2.7计划任务;2.8文件系统管理和系统性能优化;2.9设备管理;2.10文件权限管理。 第三讲,Linux网络管理 3.1 Linux基本网络配置;3.2远程管理控制(SSH、VNC、Webmin远程管理应用);3.3文件共享(Samba与FTP服务器应用); 3.4 Apache服务器配置;3.5 Shell编程;3.6 Apache,MySQL和PHP服务器的安装和优化。

如何正确运用PHP发送邮件函数

PHP发送邮件函数的应用代码示例:

#echo?send_mail($_POST["email"],$tosubject,$_POST["errortext"]);??

echo?send_mail('someone@126.com','only?a?test?mail?for?test?php?mail?function','一封垃圾邮件');??

echo?time();??

?

function?send_mail($to,?$subject?=?'No?subject',?$body)?{??

$loc_host?=?"mail.server";?//发信计算机名,可随意??

$smtp_acc?=?"smp@163.com";?//Smtp认证的用户名??

$smtp_pass="pwdpwd";?//Smtp认证的密码,一般等同pop3密码??

$smtp_host="smtp.163.com";?//SMTP服务器地址,类似?smtp.tom.com??

$from="smp@163.com";?//发信人Email地址,你的发信信箱地址??

$deliver=$smtp_acc;?//回复到指定邮箱??

$headers?=?"Content-Type:?text/plain;?charset="gb2312"rnContent-Transfer-Encoding:?base64";??

$lb="rn";?//linebreak???

$hdr?=?explode($lb,$headers);?//解析后的hdr??

if($body)?{$bdy?=?preg_replace("/^./","..",explode($lb,$body));}//解析后的Body??

?

$smtp?=?array(??

//1、EHLO,期待返回220或者250??

array("EHLO?".$loc_host.$lb,"220,250","HELO?error:?"),??

//2、发送Auth?Login,期待返回334??

array("AUTH?LOGIN".$lb,"334","AUTH?error:"),??

//3、发送经过Base64编码的用户名,期待返回334??

array(base64_encode($smtp_acc).$lb,"334","AUTHENTIFICATION?error?:?"),??

//4、发送经过Base64编码的密码,期待返回235??

array(base64_encode($smtp_pass).$lb,"235","AUTHENTIFICATION?error?:?"));??

//5、发送Mail?From,期待返回250??

$smtp[]?=?array("MAIL?FROM:?".$from."".$lb,"250","MAIL?FROM?error:?");??

//6、发送Rcpt?To。期待返回250??

$smtp[]?=?array("RCPT?TO:?".$to."".$lb,"250","RCPT?TO?error:?");??

//7、发送DATA,期待返回354??

$smtp[]?=?array("DATA".$lb,"354","DATA?error:?");??

//8.0、发送From??

$smtp[]?=?array("From:?".$deliver.$lb,"","");??

//8.2、发送To??

$smtp[]?=?array("To:?".$to.$lb,"","");??

//8.1、发送标题??

$smtp[]?=?array("Subject:?".$subject.$lb,"","");??

//8.3、发送其他Header内容??

foreach($hdr?as?$h)?{$smtp[]?=?array($h.$lb,"","");}??

//8.4、发送一个空行,结束Header发送??

$smtp[]?=?array($lb,"","");??

//8.5、发送信件主体??

if($bdy)?{foreach($bdy?as?$b)?{$smtp[]?=?array(base64_encode($b.$lb).$lb,"","");}}??

//9、发送“.”表示信件结束,期待返回250??

$smtp[]?=?array(".".$lb,"250","DATA(end)error:?");??

//10、发送Quit,退出,期待返回221??

$smtp[]?=?array("QUIT".$lb,"221","QUIT?error:?");??

?

//打开smtp服务器端口??

$fp?=?@fsockopen($smtp_host,?25);??

if?(!$fp)?echo?"bError:/b?Cannot?conect?to?".$smtp_host."br";??

while($result?=?@fgets($fp,?1024)){if(substr($result,3,1)?==?"?")?{?break;?}}??

?

$result_str="";??

//发送smtp数组中的命令/数据??

foreach($smtp?as?$req){??

//发送信息??

@fputs($fp,?$req[0]);??

//如果需要接收服务器返回信息,则??

if($req[1]){??

//接收信息??

while($result?=?@fgets($fp,?1024)){??

if(substr($result,3,1)?==?"?")?{?break;?}??

};??

if?(!strstr($req[1],substr($result,0,3))){??

$result_str.=$req[2].$result."br";??

}??

}??

}??

//关闭连接??

@fclose($fp);??

return?$result_str;??

}??

希望上面这段代码示例能让大家充分掌握PHP发送邮件函数的运用。

(责任编辑:IT教学网)

更多