
PHP
PHP
哪吒的小跟班
纵有疾风起,人生不言弃!
展开
-
模拟502和504
一、504 Gateway Timeout官方解释:作为网关或者代理工作的服务器尝试执行请求时,未能及时从上游服务器(URI标识出的服务器,例如HTTP、FTP、LDAP)或者辅助服务器(例如DNS)收到响应。通俗地讲:在LNMP中,nginx没及时从php-fpm那里收到信息返回。我nginx等你php-fpm太久了你不回复我,我就告诉浏览器504。这个模拟起来也很简单,设定fastcgi...原创 2020-04-06 13:46:13 · 2407 阅读 · 0 评论 -
php excel处理
一、介绍之前使用过 phpoffice/phpexcel ,但是生成或者读取大一些的excel表格就非常吃内存,后来找到 box/spout, 在内存和时间差异上我没有做具体测试,可以参考 PHP解析大型Excel表格的库:box/spout一、安装composer require box/spout注意的是,官网挂了,文档很难找。 现在安装的应该为 3.0 版本,而网上查找的一些使用方...原创 2020-01-31 10:08:38 · 1195 阅读 · 3 评论 -
PHP trait
Trait 和 Class 相似,为类似 PHP 的单继承语言而准备的一种代码复用机制。一、属性方面<?phptrait B{ public $same = true; public $different = false;}class C{ use B; public $same = true; // PHP 7.0.0 后没问题,之前版本是...原创 2018-11-07 10:07:37 · 248 阅读 · 0 评论 -
POD查询 数据库BaseModel封装
PDO查询类、BaseModel封装原创 2018-11-07 16:25:30 · 1414 阅读 · 0 评论 -
PHP里的坑
注意:这里坑不全是PHP做错了,是初学者应该注意的地方。switch/in_array等的松比较&lt;?php$a = 0;switch($a){ case 'a': echo 'a'; case 'b': echo 'b';}$arr = ['c','d'];echo in_array($a,$arr) ? 'Yes' : 'No';解决:对于switc...原创 2018-11-16 23:56:01 · 396 阅读 · 1 评论 -
PHP小技巧
一、规律含有非数组参数的数组函数 ,数组参数位置问题数组为第一个参数:array_push,array_splice,array_walk,usort等。数组非第一个参数:array_search,array_map等。我觉得应该是:是否对数组取址的问题。当此函数为取址函数,则数组作为第一个参数传入,否则放在后边传入。疑问:array_slice不是取址函数,为什么数组放是第一个参数...原创 2018-11-17 00:01:17 · 2054 阅读 · 0 评论 -
PHP CSV文件的写入与读取
1. 什么是csv ?逗号分隔值(Comma-Separated Values,CSV),其文件以纯文本形式存储表格数据(数字和文本),文件的每一行都是一个数据记录。每个记录由一个或多个字段组成,用英文逗号分隔。使用WPS即可打开,效果和Excel相同。因为只是一种约定的格式,解析不会像 Excel 麻烦和耗费内存。我通常使用csv文件作为数据库内容的导出,然后WPS打开再另存为Excel给...原创 2019-09-21 16:26:02 · 2747 阅读 · 0 评论 -
正则(PHP和JS)
警告:这不是详细说明正则怎么写的文章。一、正则表达式时间:小时 00-23'/(^[0-1][0-9]$)|(^2[0-3]$)/';时间:分钟 00-59'/^[0-5][0-9]$/';手机号:1开头,第二个是3或4或5或7或8,后边9位数字结尾'/^1[3|4|5|7|8]\d{9}/';邮箱'/^[\w-]{4,}@[\w]+\.(com|cn)$/';二、PH...原创 2018-10-25 13:22:33 · 318 阅读 · 0 评论 -
PHP static
class Person{ public static $name = 'Voyager'; public static function say(){ echo 'My name is ' . self::$name; }}一、介绍不需要实例化类可直接访问。在内存中只有一份,为所有的实例共用。访问速度比实例化访问快。静态方法中不能访问非静态属性和方法(还未创建,速度快...原创 2018-10-25 10:25:56 · 578 阅读 · 0 评论 -
带中文字符串反转
PHP自带的 strrev( ) 函数只可以反转英文,如果字符串中有中文就会产生乱码。这里要用到 iconv 函数,iconv_strlen( ) 不会像 strlen( ) 一样把中文当做3个字符。同理 iconv_substr( ) 也能很好的切割中文。function strReverse($str1){ $str2 = ''; $len = iconv_strlen($st...原创 2018-06-02 16:30:27 · 646 阅读 · 0 评论 -
字符串单词首字母大写去连接符
1. 'made in china' 要转换成 'MadeInChina'。function changeStr1($str){ return str_replace(' ','',ucwords($str));}2. 'made_in_china'转成‘MadeInChina’。function changeStr2($str){ $str = str_repl...原创 2018-06-02 16:42:52 · 772 阅读 · 0 评论 -
PHP使用curl和file_get_contents发送http请求
一、file_get_contentsfunction get($url,$data = null){ if ($data){ $url .= '?'.http_build_query($data);//对参数编码a=b&c=d形式 } return file_get_contents($url);}function post($ur...原创 2018-07-24 10:20:36 · 1962 阅读 · 0 评论 -
PHP时间相关方法
一、获取毫秒function msec(){ return sprintf('%.0f', microtime(true) * 1000);}二、两个日期相差天数function dateDiff($date1, $date2){ return (strtotime(date('Ymd', $date2)) - strtotime(date('Ymd',...原创 2018-07-31 17:46:02 · 182 阅读 · 0 评论 -
PHP数组相关方法
一、键值搜索。in_array、array_search//一维数组搜索值是否存在$array = [ 'one' => 1, 'two' => 2,];in_array(1,$array);#返回true, 需要注意的是in_array的松散类型陷阱array_search(2,$array);#返回'two'array_search(3,$array...原创 2018-09-07 11:45:43 · 294 阅读 · 0 评论 -
PHP中String一些用法
1.利用索引选字 JS中字符串可以利用str.charAt(索引)选取字符串的某个字。 PHP中则是使用$str[索引]或者$str{索引}.(仅对非中文字符)2.类型转换 判断里,字符只有是''空字符串的时候为false, ' '空格是true, 'false' 也是true. 反过来true转换成字符串strval(false)是空字符串,strval(...原创 2018-06-22 18:56:59 · 308 阅读 · 0 评论