1. 关于PHPMailer PHP用来操作发送邮件的类库。 Github地址: https://github.com/PHPMailer/PHPMailer 2. 使用 2.1下载 首先下载类库包,直接Github下载或者通过composer都可以 2.2 使用 直接引入PHPMailerAutoload.php文件: require '/path/to/PHPMailerAutoloa...
关于定时任务,之前以前认识了一种最常用的:crontab定时任务。通过linux的定时任务去实现。今天又认识了一下php实现定时方式的其它方式,总结一下。 一 服务器定时任务 服务器定时任务,其实就是unix系统下的crontab实现,具体的设置: Linux定时任务crontab ;不过除了直接定时读取php脚本的方式,我们还可以用定时调用接口的方式。 运行脚本时 */1 * * * * php...
最近研究了Linux系统下的PHP环境搭建,个人感觉最好最好不要用yum默认的程序包安装,因为版本都比较低,下载最新的稳定版自行安装比较好。现在网上教程很多,之所以还记这篇,原因有一点,当你重复网上的教程自行安装时,90%还是会出现各种各样的问题,因为你可能linux的系统版本不同,你想装的软件版本不同,安装的方法不同,你下错了安装包的版本,还有其它乱七八糟的。举个例,比如你看着5.6的mysql...
一. 防止SQL注入 1 危害 攻击者可以利用它读取、修改或者删除数据库内的数据,获取数据库中的用户名和密码等敏感信息 甚至可以 获得数据库管理员的权限。 如果能够再利用SQLServer扩展存储过程和自定义扩展存储过程来执行一些系统命令,攻击者还可以获得该系统的控制权。 SQL Injection 也很难防范。网站管理员无法通过安装系统补丁或者进行简单的安全配置进行自我保护,一般的防火墙也无法拦...
关于将数据序列化存储这块,一直有一个疑问,就是serialize和json应该用哪一个更好。 参考了很多文章和讨论: Serialize or json in PHP? JSON vs. Serialized Array in database PHP的serialize序列化数据与JSON格式化数据 php的serialize序列化和json性能测试 总结一下: serialize解码比json...
现在一个项目,需要频繁调用API从数据层获取数据,数据层业务层分离。封装了一个基于此的cURL封装类: <?php /** * cURL封装类 * * @author guo * @date 2016-12-17 */ namespace app\home\Request; class cURL { private static $url = ''; // 访问的url pr...

现在很多框架,拓展都使用了composer模式进行安装;现在TP5也使用composer了,总结一下。这里以thinkphp5框架安装一个think-captcha验证码拓展为例子。 首先,先安装composer,因为是本地用的,我是windows系统,有无脑安装版本,先用这个版本,其实其他方法包括Linux系统,也不复杂,没问题。 windows安装包下载: Composer-Setup.exe...

因为之前没有编程基础,最近才知道排序算法这个概念,原来平时在操作数组的时候是用到“算法”这玩意的。 从网上找了下资料,都一个来源;用$arr=array(1,43,54,62,21,66,32,78,36,76,39); 做例子排序。 1. 冒泡排序 1.1 原理 在要排序的一组数中,对当前还未排好的序列,从前往后对相邻的两个数依次进行比较和调整,让较大的数往下沉,较小的往上冒。即,每当两相邻的数...
碰到一个问题,直接在控制器中定义 __construct() 时,会报错。 原因:必须调用父类Controller中的construct函数,所以要在定义的控制器中使用construct函数就必须用 parent::__construct() ;调用父类Controller中的 __construct 解决:可以用 _initialize (thinkphp封装好的)直接定义一个构造函数省去频繁地...