![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
php
cominglately
时间过得好快 ...
勉力前行
展开
-
curl Operation timed out after 20001 milliseconds with 0 out of 0 bytes received
文章目录场景分析问题 && 解决场景对接了腾讯惠聚平台的接口, 使用curl实现请求, 设置超时时间20秒,但是日志中突然出现了大量的Operation timed out after 20000 milliseconds with 0 bytes received分析问题 && 解决 1. 使用商家授权以及同样的请求条件,可以在测试环境很顺利的完成1497个订单的抓取 2. 联系平台,平台回复最近无更新新功能且无IP限制,另外存在没有收到请求的情况 3.原创 2022-03-25 09:26:20 · 5786 阅读 · 0 评论 -
截取金额的小数后两位(其余部分舍去)
文章目录场景解决场景我们公司的客户是电商,我们在处理金额的时候,需要将金额截取到小数点后两位,其余部分舍去。四舍五入会导致客户发现自己账户的金额少了, 所以不能使用四舍五入的算法解决floor实现截取, sprintf实现格式化/** * @purpose 保留2位小数但不四舍五入 * @description * @last_edit_ti...原创 2019-12-17 09:58:44 · 696 阅读 · 0 评论 -
生成pdf与img的插件wkhtmltoimage wkhtmltopdf ; 弃用phpexcel
gitlab 地址1.需要用的字体文字体需要放置到服务器 /usr/share/fonts 目录下:msyhbd.ttc msyhl.ttc msyh.ttc 放置在文件夹 /usr/share/fonts2.支持wkhtmltoimage,应用目录下执行如下命令:cp vendor/h4cc/wkhtmltoimage-amd64/bin/wk原创 2017-05-25 10:08:24 · 2585 阅读 · 0 评论 -
curl问题的修正curl_setopt_array(): CURLOPT_FOLLOWLOCATION cannot be activated when an open_basedir
curl问题的修正curl_setopt_array(): CURLOPT_FOLLOWLOCATION cannot be activated when an open_basedir原创 2017-05-19 18:29:54 · 4251 阅读 · 0 评论 -
怎么理解php的三大特征
封装 继承 多态参考文档 http://www.cnblogs.com/clongge/archive/2008/07/09/1239076.htmloop作业流程: 划分对象->抽象类->类的继承与合成->用类和对象进行设计->实现a. 封装客观的事物封装成抽象的类 ,并且可以将自己的方法和数据 提供给可信的对象,不可信的对象进行信息隐藏;作用:转载 2017-06-15 19:10:15 · 250 阅读 · 0 评论 -
php redis mongo python 数据类型小结
梳理下学过的数据类型php string array object resource int float null boolean 8大基本类型redis string list hash set(集合) zset(有序集合) 5种mongo null 表示空值或者不存在的字段 {"x":null}boolean integer原创 2017-06-15 20:10:49 · 224 阅读 · 0 评论 -
phpstorm 自动加载psr配置方法
慎用: 有些框架不是遵守psr规范 不要乱加载了 eg:thinkphp参考文档地址: https://blog.huijiewei.com/tag/phpstorm转载 2017-06-15 20:37:25 · 2226 阅读 · 0 评论 -
php 关于时间范围的一些封装
昨天的时间范围function getYesStamp(){ $begin = strtotime(date('Y-m-d', strtotime('-1 day'))); return [ 'begin' => $begin, 'end' => $begin+24*60*60-1 ];}近30天的时间范围function原创 2017-06-02 17:04:23 · 540 阅读 · 0 评论 -
json 格式化输出
function indent ($json) { $result = ''; $pos = 0; $strLen = strlen($json); $indentStr = ''; $newLine = ""; $prevChar = ''; $outOfQuotes = true; for ($i=0; $i<=$strLen转载 2017-06-02 17:06:14 · 397 阅读 · 0 评论 -
提供开始和结束的时间戳 返回中间的day month year格式
/* * 切分时间段函数 * beginTime->开始时间时间戳 * endTime->结束时间时间戳 * type->[1]按年分;[2]按月分;[3]按天分 * 返回二维数组 * arr[]['beginTime']->开始时间 * arr[]['endTime']->结束时间 * arr[]['date']->相应date * *原创 2017-06-02 17:08:08 · 313 阅读 · 0 评论 -
看到一段大神的代码 condition1&condtion2&doSomething
测试结果 : condition1 condtion2同时成立的时候执行doSomething 但是 doSomething 不可以写成匿名函数 $res =['key1'=>'','key2'=>''];!$res['key1'] && !$res['key2'] && test();function test(){echo 'This is a test';}原创 2017-06-28 18:06:33 · 384 阅读 · 0 评论 -
分享几个实用的过滤函数
参考文档 http://php.net/manual/zh/function.filter-var.php http://php.net/manual/zh/function.filter-var-array.php校验ip url filter_var($ip,FILTER_VALIDATE_IP) 校验字符串是不是IP FILTER_VALIDATE_URL原创 2017-06-29 11:28:31 · 1111 阅读 · 0 评论 -
ajax beforeSend complete 方法
参考文档 http://www.cnblogs.com/sherlockholmes/p/5286956.html使用场景:ajax提交数据时 由于网络获取其他原因导致 用户反复的提交数据 导致请求多次发生,脏数据可能会出现 beforeSend 可以禁用掉提交按钮 complete 可以使按钮可用 eg: // 提交表单数据到转载 2017-06-29 11:53:40 · 417 阅读 · 0 评论 -
php为什么是弱语言?
原博客地址 http://www.cnblogs.com/peteremperor/p/6386548.htmlphp 将一块内存看成多类型的 , 字符串变量和正型变量直接相加,也是动态语言c 是弱语言 静态语言 int 可以转向double 隐形的转换 弱类型 类型转换不严格 静态语言是在编译时候不允出现 ill behavings 动态语言是在运行的时候转载 2017-06-04 11:49:38 · 1950 阅读 · 0 评论 -
php的运作机理
参考资料 http://www.nowamagic.net/librarys/veda/detail/1377 http://www.cnblogs.com/jingmin/p/6403966.htmlphp在编译器zend中的运作1.Scanning(Lexing) ,将PHP代码转换为语言片段(Tokens)2.Parsing, 将Tokens转换成简单而有意义的表达式3.C转载 2017-06-04 12:11:27 · 295 阅读 · 0 评论 -
php的回收机制
参考原文 http://www.nowamagic.net/librarys/veda/detail/1377 采用的是引用计数(php5.3之后做了优化):每个内存对象都分配一个计数器,当变量引用的时候 则计数器+1,引用撤掉的时候则是 -1,为0的时候 内存对象销毁,垃圾回收. 这个有个环路的问题 a对象引用了对象b b 对象引用对象a 这个怎么都回收不了转载 2017-06-04 12:36:33 · 315 阅读 · 0 评论 -
ajax提交表单的信息的正确使用
参考文档 http://www.w3school.com.cn/jquery/ajax_serializearray.aspvar postData = $('#form_id').serializeArray()然后post 或者get 提交原创 2017-06-29 14:59:40 · 253 阅读 · 0 评论 -
多维数组的 INF NAN 转成合法的数组的问题
一些有复杂依赖关系的多维度计算出来的多维数组可能会出现INF NAN 对这个数组进行操作之前必须整理成合法的数组 :处理 :序列化 替换 反序列化 eg:$list =[ 'a'=>[ 'status' => INF, 'total' => 0, 'date' => '今天', ], 'b'=>[原创 2017-06-30 14:51:19 · 233 阅读 · 0 评论 -
jq 获取第一个child的方法 以及ajax成化工和返回之后,怎么去使用触发该时间的元素
script type="text/javascript"> $('button .btn,.btn-primary,.btn-sm').on('click', function() { var urlRe= $(this).children("input:first-child").val(); //获取第一个子代的数值 var that = $(thi原创 2017-06-22 14:16:48 · 744 阅读 · 0 评论 -
php 数组怎么传递到html 怎么依靠json对象的形式操作
json_encode之后赋值给一个属性,jQ 依赖选择器得到相应的属性字符串,var jonObj = JSON.parse(字符串)原创 2017-07-11 16:51:25 · 835 阅读 · 0 评论 -
psr 命名空间的规范
参考文档 http://oomusou.io/php/php-psr2/namespace 和 和 use 空一行use 和 class空一行转载 2017-07-11 20:37:31 · 347 阅读 · 0 评论 -
html 属性是可以自定义的(解决参数获取的问题)
js 里面需要参数去执行一些操作 , 这个参数可以通过input hidden 设定数值 然后通过 jQ获取,也可以通过在触发时间的DOM上自定义一个属性,通过$(this).attr(属性的名字) 来获取 ; htmlbutton type="button" class="btn btn-primary btn-sm rebuild" data-sid="$list['sid'];原创 2017-06-22 18:16:06 · 1050 阅读 · 0 评论 -
yii ajax 返回json在控制器中的写法
a. 官网的写法Yii::$app->response->format = \yii\web\Response::FORMAT_JSON;return ['message' => 'hello world'];b. 公司大佬的选择 return json_encode(['message' => 'hello world']);原创 2017-06-22 18:24:30 · 1585 阅读 · 0 评论 -
规范养成日记
a.关于sql查询的写法规范$lists = $this->db ->field($fileds) ->order(['id' => 'desc']) ->where($where) ->select();原创 2017-06-22 18:27:16 · 203 阅读 · 0 评论 -
yii mongo model的写法
<?phpnamespace app\models;use yii\mongodb\ActiveRecord;class SidInfo extends ActiveRecord{ public static function collectionName() { return 'sid_info'; } public funct原创 2017-06-22 18:29:04 · 482 阅读 · 0 评论 -
服務器上session保存的位置
php -i | grep session.save_path原创 2017-07-04 21:09:35 · 521 阅读 · 0 评论 -
公司大佬问到一个问题 为什么yii tp框架会把index.php文件放到网站的子目录里面 而不是放在根目录
这些框架是单一入口的文件 实现单一入口的方法是重定向 但是还需要处理 静态的文件(css js image) 一般采取的处理方式是在重定向之前 就检测文件是不是存在 ;所以如果index 和这些静态的文件都放在根目录下下面 ,会破坏唯一入口(可以检测静态文件 那也就可以检测代码文件 而不再走路由)原创 2017-07-05 15:36:44 · 905 阅读 · 0 评论 -
获取指定月份的最后一天
参考文章 https://stackoverflow.com/questions/1686724/how-to-find-the-last-day-of-the-month-from-datet 指定的月份有几天 28-31$a_date = "2009-11-23";echo date("Y-m-t", strtotime($a_date));转载 2017-07-14 17:41:32 · 1725 阅读 · 0 评论 -
php json_encode的选项JSON_UNESCAPED_UNICODE
参考文档 http://php.net/manual/zh/json.constants.php无此选项 json_encode('你好') 变成不可以读 的字符串"\u4f60\u597d" 数据量也相对大些由此选项 json_code('你好',JSON_UNESCAPED_UNICODE); 变成 "你好"原创 2017-07-14 15:00:38 · 541 阅读 · 0 评论 -
MongoCollection 与 iterator_to_array
参考文档 http://php.net/manual/zh/mongocollection.find.phpphp 操作经常使用的是数组 MongoCollection::find — 查询该集合,并返回结果集的 MongoCursor所以经常需要对结果进行下转换$m = new MongoClient();$db = $m->selectDB('test');$原创 2017-07-14 15:51:15 · 896 阅读 · 0 评论 -
简单获取最近6个月的方法
参考文档: https://stackoverflow.com/questions/10828688/last-six-months-list-in-php$first = time();$months = array();for ($i = 5; $i >= 0; $i--) sarray_push($months, date('Y-m', strtotime转载 2017-07-14 16:08:57 · 687 阅读 · 0 评论 -
php 从一个数组删除一个值 not by key的简易方法
$arr = [1,2,3,4,5,'a','b'];$del_val = 2;if(($key = array_search($del_val, $arr)) !== false) { unset($arr[$key]);}print_r($arr);原创 2017-07-14 16:26:41 · 414 阅读 · 0 评论 -
require 与inclkude的区别
a. require 一般那放在文件的头部 在程序开始执行之前 就加载 include 一般是在用到的时候再加载 b. include 加载到不存在的文件 还可与继续运行 require则是致命错误c. 重复加载单一文件的时候的require 的效率高 ,include 在执行文件的时候每次都要评估 d.require_once inclde_原创 2017-06-15 10:41:08 · 245 阅读 · 0 评论 -
static属性以及方法
参考文档 https://wxb.github.io/2017/03/17/%E5%85%B3%E4%BA%8EPHP%E9%9D%99%E6%80%81%E5%92%8C%E5%90%8E%E6%9C%9F%E9%9D%99%E6%80%81%E7%BB%91%E5%AE%9A.html静态属性和方法,可通过 类名::直接访问;静态属性不能通过对象调用,但静态方法是可以的转载 2017-06-15 14:52:14 · 394 阅读 · 0 评论 -
interface 与abstract之间的区别与联系
参考文档 : http://php.net/manual/zh/language.oop5.interfaces.php区别:a. 关键字 interface是implements abstract是extends b. abstract 是单继承 interface是多继承 (多个接口都好分割) c. abstract 可以又普通的方法(就原创 2017-06-15 16:22:51 · 315 阅读 · 0 评论 -
抽象方法abstract
参考文档 http://php.net/manual/zh/language.oop5.abstract.php特点:a. 含有一个抽象方法的类 必须被声明为一个抽象类b. 抽象类不可以被实例化 c. 抽象方法不涉及具体的操作,只是定义了参数的d.子类必须继成所有的抽象方法,且访问控制必须一致或者更加的宽松 (public protected priv转载 2017-06-15 15:43:57 · 398 阅读 · 0 评论 -
常量在类中的声明(const)以及引用
定义:const const_name=' const_name';使用:类的内部 self:: 实例化之后 $obj::实例化之后不可以 $obj-> notice 错误 ,(将常量当成属性 然后这个属性并不存在)eg:abstract class AbstractClass{ // 强制要求子类定义这些方法 abstract原创 2017-06-15 16:34:40 · 2201 阅读 · 0 评论 -
接口interface
参考文档: http://php.net/manual/zh/language.oop5.interfaces.php作用:执行继承的子类必须实现的哪些方法, 但是不具体指定要实现的过程 特点:a. 定义的所有的方法都是空的 , b. 子类继承的方法的访问控制都是要和接口一致 或者更加宽松 c. 子类implements多个接口的时候,多个转载 2017-06-15 17:16:32 · 212 阅读 · 0 评论 -
php中的魔术方法
参考文档: http://php.net/manual/zh/language.oop5.overloading.phpa.对不可访问的对象赋值的时候 __setb. 读取不可访问的对象的时候 __getc. 对可以访问的属性调用 isset empty __isset d. 对不可访问的对象调 unset __unset转载 2017-06-15 17:26:59 · 397 阅读 · 0 评论 -
访问控制级别有哪些? 以及和abstract static final的位置关系
访问控制 : public protected private 位置关系:abstract class AbstractClassabstract protected function protected stattic function原创 2017-06-15 16:03:39 · 277 阅读 · 0 评论