一个composer包未发版,但是我急需使用它仓库的修改版,可以这么办:在 composer.json 中,在包的版本后,加入 @dev 即可。 举例:原代码为: "require": { "topthink/frame…
实现PHP读取文件并下载的方法(重命名下载文件)
在实现下载类程序的过程中,有时需要通过php读取文件,随后推送给客户端实现文件的下载。本文介绍PHP实现该项功能的两种常见方法。 相比直接暴露给用户文件真实路径,基于PHP文件数据下载可能基于以下原因: 不想暴露文件真实…
解决:Syntax error or access violation: 1305 SAVEPOINT trans2 does not exist
本文提供MySQL事务报错:PDOException: SQLSTATE[42000]: Syntax error or access violation: 1305 SAVEPOINT trans2 does not …
PHP数组重命名键名的方法
php中重命名数组的键名(key),使用array_map $tags = array_map(function($tag) { return array( 'name' => $tag['name'], 'val…
ThinkPHP6 migration: 1071 Specified key was too long; 767 bytes解决方案
[PDOException] SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key len…
PHP中常用魔术方法(学习笔记)
PHP的魔术方法由__双下划线开头,并为保留格式。也就是意味着自己命名的任何方法都不可以用__开头。所有魔术方法必须被定义为public。 __construct 每次创建新对象时,先调用此方法,适用于对象的一些初始化操…
PHP中关于对象的传递和引用(学习笔记)
PHP对象变量,不是直接保存整个对象的值,而是保存一个标识符(object identifier),用这个标识符来指向真正的对象。 $obj1 = new A(); $obj1->name = 'Do…
PHP生成唯一ID 公认较为安全的写法 上传随机文件名
PHP生成随机文件名有多种方式,本次介绍一个在公认比较新、比较安全的随机ID函数。较老的方式一般单一使用rand函数生成随机数字,或者用md5,或者进一步使用uniqid()函数,但不论以上哪种方式,都存在可能重复的问题…
PHP两个日期相减 计算天数、月、年[Stack Overflow]
本文主要解决PHP如何判断两个日期之间相距的天数,并可换算为月、年。 在PHP5.3以上版本,可以使用strtotime()后的数值直接相减,然后换算为年月日。举例: $date1 = "2007-03-24"; $da…
PHP密码哈希函数password_hash 安全密码加密方式替代MD5
这本文主要介绍公认较为安全的PHP密码加密方式,推荐使用PHP官方内置的密码哈希函数password_hash(),介绍低版本适配与其他解决方案。 由于计算机运算速度的提升,密码破解的速度也在提升,网络中有大量的MD5解…