php
文章平均质量分 50
leedaning
为了梦想,前进!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
php yield
最近发现了一个有意思的功能——生成器(generator),按我的理解,生成器可以生成类似数组的对象,这些对象也可以通过遍历取出,与数组很像,但是里面每个元素都是对象。官方文档在此:https://www.php.net/manual/zh/language.generators.syntax.php官方给的实例如下:<?phpfunction gen_one_to_three() { for ($i = 1; $i <= 3; $i++) { //注意变量$i的原创 2020-12-31 17:53:58 · 633 阅读 · 0 评论 -
php魔术方法__sleep()、__wakeup(); serialize()、unserialize()
<?php/** * @Author: Leen * @Date: 2020-12-10 11:12:59 * @Email: lining@yoozoo.com * @Last Modified By : Leen */class Wakeup{ private $name, $age, $info; function __construct($name, $age) { $this->name = $name;原创 2020-12-10 12:16:57 · 556 阅读 · 0 评论 -
php中float转int精度丢失的问题
今天遇到一个问题,$19.99转换为内部货币时的比例是1:100,所以乘以100,结果是1999,但是订单信息描述中将数据转换为int(不确定, 因为里面是将含有该float数值字段的数组做json_encode处理的)时,数值变为了1998。原来float和int在计算机的二进制存储方式不同,参考:https://www.cnblogs.com/ClassNotFoundException/p/...原创 2019-11-14 21:12:33 · 2963 阅读 · 0 评论 -
php解决问题的方法
这篇文章的原标题是“关于PHP程序员解决问题的能力”但是我认为这更是一篇phper解决问题方法的好文章(原文地址:http://rango.swoole.com/archives/340)。这个话题老生长谈了,在面试中必然考核的能力中,我个人认为解决问题能力是排第一位的,比学习能力优先级更高。解决问题的能力既能看出程序员的思维能力,应变能力,探索能力等,又可以看出他的经验。如果解决问题能力不佳是无法转载 2015-11-23 09:49:34 · 1105 阅读 · 1 评论 -
Notice: Use of undefined constant MCRYPT_RIJNDAEL_128 - assumed 'MCRYPT_RIJNDAEL_128' in
错误: Notice: Use of undefined constant MCRYPT_RIJNDAEL_128 - assumed ‘MCRYPT_RIJNDAEL_128’ in /http/www.mywakavLee.cn/config/app.php on line 83原因:缺少MCRYPT 扩展解决方法:安装MCRYPT 扩展安装给扩展跟我之前写的安装mysqli扩展一样,可以参原创 2015-06-08 13:45:36 · 6010 阅读 · 0 评论 -
php 自带过滤和转义函数
函数名 释义 介绍 htmlspecialchars 将与、单双引号、大于和小于号化成HTML格式 &转成&”转成"’ 转成'<转成<>转成> htmlentities() 所有字符都转成HTML格式 除上面htmlspecialchars字符外,还包括双字节字符显示成编码等。 addslashes 单双引号、反斜线及NULL加上反斜线转义 被改的字符包括单转载 2016-02-01 15:35:37 · 1433 阅读 · 0 评论 -
关于PHP连接处理中set_time_limit()、connection_status()和ignore_user_abort()深入解析
在网上关于PHP连接处理的问题,回答的比较实际的是以下这篇文章:在 PHP 内部,系统维护着连接状态,其状态有三种可能的情况: 0 - NORMAL(正常) 1 - ABORTED(退出) 2 - TIMEOUT(超时)当 PHP 脚本正常地运行 NORMAL 状态时,连接为有效。当远程客户端中断连接时,ABORTED 状态的标记将会被打开。远程客户端连接的中断通常是由用户点击 STOP 按转载 2016-03-07 10:20:21 · 1678 阅读 · 0 评论 -
php rsa加密解密使用详解
1、加密解密的第一步是生成公钥、私钥对,私钥加密的内容能通过公钥解密(反过来亦可以) 下载开源RSA密钥生成工具openssl(通常Linux系统都自带该程序),解压缩至独立的文件夹,进入其中的bin目录,执行以下命令:openssl genrsa -out rsa_private_key.pem 1024openssl pkcs8 -topk8 -inform PEM -in rsa_priv转载 2016-03-07 17:28:26 · 1355 阅读 · 0 评论 -
PHP获取POST数据的三种方法
方法一,$_POST $_POST或$_REQUEST存放的是PHP以key=>value的形式格式化以后的数据。方法二,使用file_get_contents(“php://input”) 对于未指定 Content-Type 的POST数据,则可以使用file_get_contents(“php://input”);来获取原始数据。 事实上,用PHP接收POST的任何数据均使用本方法。而转载 2016-03-01 09:08:54 · 2676 阅读 · 0 评论 -
php命名空间
什么是命名空间?借用官方文档的一段话:从广义上来说,命名空间是一种封装事物的方法。在很多地方都可以见到这种抽象概念。例如,在操作系统中目录用来将相关文件分组,对于目录中的文件来说,它就扮演了命名空间的角色。具体举个例子,文件 foo.txt 可以同时在目录/home/greg 和 /home/other 中存在,但在同一个目录中不能存在两个 foo.txt 文件。另外,在目录 /home/greg原创 2016-05-05 14:44:56 · 1128 阅读 · 0 评论 -
Nginx 配置 location 总结及 rewrite 规则写法
location正则写法一个示例:location =/{精确匹配 / ,主机名后面不能带任何字符串[ configuration A ] } location /{因为所有的地址都以 / 开头,所以这条规则将匹配到所有请求但是正则和最长字符串会优先匹配[ configuration B ] } location /documents/{匹配任何以 /documents/ 开头的地址,匹配转载 2015-11-24 14:55:30 · 973 阅读 · 0 评论 -
fedora 23下LNMP和phpmyadmin配置
nginx、apache : http://www.if-not-true-then-false.com/2011/install-nginx-php-fpm-on-fedora-centos-red-hat-rhel/mysql(mariadb): http://www.oschina.net/news/67895/fedora-install-lamp-serverphpmyadmin:原创 2015-11-17 13:10:02 · 1697 阅读 · 0 评论 -
php开启mbstring扩展并设置支持utf-8编码
前一段时间使用一个服务的接口,因为调用接口时使用的参数里面有中文,调用接口会出现异常问题,后来才明白是编码不一致的问题。然而,我本地项目开发使用的是utf-8,接口那边也是需要utf-8的,那么问题来了,到底哪里的编码不一致呢? 请教了一下高手,原来是php的扩展mbstring没有开启,下面就是开启mbstring扩展,并配置支持utf-8编码的方法:首先,去掉;extension=ph原创 2015-11-12 09:52:34 · 23463 阅读 · 6 评论 -
执行 composer update 出现Warning: This development build of composer is over 60 days old.
本地环境需要更新到最新版本的composer,使用命令composer update,平时都会正常更新,今天用的是其他的电脑,就出现了如下错误:Warning: This development build of composer is over 60 days old. It is recommended to update it by running "/usr/local/bin/compos原创 2015-09-22 12:40:31 · 13159 阅读 · 1 评论 -
文章标题SELECT sum(ord.order_price) as order_total_price, count(distinct ord.user_id) as user_total_num
需求:给一个开始时间(start_time)和一个结束时间(end_time)查询出该段时间内的所有记录,并且按天的形式显示出数据的统计。如图: 思路: 一:根据开始时间和结束时间计算出天数,然后按时间去数据库查取每天的所有记录并统计。但是这样有一个问题,怎么根据时间去算出天数,每个月的天数不一样的。问题解决:先把开始时间换成“年月日”格式的日期,然后转换成时间戳形式,再以一天时间86400秒为原创 2015-10-09 14:39:49 · 2143 阅读 · 0 评论 -
php获取时间(系统时间和网络时间)
用php的时候可能经常会用到标准时间,有两个办法:一、;二、。 第一种方法:获取服务器的时间 首先配置php.ini中的date.timezone = PRC或者直接在程序页面加入date_default_timezone_set("PRC"); 然后就可以使用time()或date(''Y-m-d H:i:s)第二种方法:获取网络时间(这里是借用网上的,原文地址:http://justcod原创 2015-09-18 15:23:43 · 9169 阅读 · 0 评论 -
php使用jsonjson_encode存入数据库乱码
在存入数据库之前将数组$addressArr使用json_encode($addressArr);转化为json格式,页面上使用的是utf-8编码,页面上经过json_decode();转化能够正常显示,然而数据库中存储的却有乱码,经过搜索使用json('中文',JSON_UNESCAPED_UNICODE);即可解决。参见json_encode还有两篇相关的文章可以参考下:http:原创 2015-09-28 15:30:46 · 2952 阅读 · 0 评论 -
PHP生成静态HTML页面最简单方法示例
PHP文件名:dome.php<?php $string = 1; ob_start(); @readfile("templets/list.html"); $text = ob_get_flush(); $myfile = fopen("list.html","w"); $text = str_replace ("{counent}",$string转载 2015-08-29 17:14:40 · 7071 阅读 · 1 评论 -
Laravel5中生成指定文件的说明文档
首先安装apidoc:npm install apidoc -g用法: 1、 apidoc -i app/Http/Controllers/Api -o ./doc表示将app/Http/Controllers/Api目录下的所有文件生成文档,并保存到当前位置的doc文件夹下面。2、 apidoc -i ./app/Http/Controllers/Api/ -o ./public原创 2015-07-22 16:05:09 · 2715 阅读 · 2 评论 -
php常用知识积累
php中的符号: ::这个符号是调用static的方法的 ->这个符号需要先实例化类在进行调用Author:leedaning 本文地址:http://blog.youkuaiyun.com/leedaning/article/details/46461269原创 2015-06-11 19:52:57 · 707 阅读 · 0 评论 -
使用composer自动加载php命名空间
上一篇介绍了php的命名空间,但是每次都要使用一个spl_autoload_register()或autoload()方法,每个要使用命名空间的地方都要加这个方法太麻烦,有没有简单的方法呢?有,可以使用composer自动加载命名空间。 要在php项目中使用包依赖管理工具composer首先得安装,这个自行搜索,就不多说了。安装之后再项目根目录下创建一个composer.json文件。 目录结构原创 2016-05-05 15:09:27 · 14132 阅读 · 2 评论 -
php使用openssl进行Rsa长数据加密(117)解密(128)
PHP使用openssl进行Rsa加密,如果要加密的明文太长则会出错,解决方法:加密的时候117个字符加密一次,然后把所有的密文拼接成一个密文;解密的时候需要128个字符解密一下,然后拼接成数据。加密: /** * 加密 * @param $originalData * @return string|void */ /*function encr原创 2016-06-29 08:53:30 · 16590 阅读 · 6 评论 -
Error 500curl_setopt(): CURLOPT_SSL_VERIFYHOST no longer accepts the value 1, value 2 will be used i
问题:本地开发环境没问题,测试环境报错:Error 500curl_setopt(): CURLOPT_SSL_VERIFYHOST no longer accepts the value 1, value 2 will be used instead原因:代码中使用了curl模拟https请求,如:if( $https ){ curl_setopt($cu...原创 2018-07-26 16:04:44 · 15561 阅读 · 2 评论 -
php扩展下载
下载地址:https://windows.php.net/downloads/pecl/releases/Author:leedaning 本文地址:原创 2018-06-20 14:33:39 · 2210 阅读 · 0 评论 -
接口跨域问题解决
接口很容易碰到跨域请求,如果跨域只要把域名加入到允许访问列表即可,但是由于获取域名方法不同造成能得到的域名格式有多种,以下是code中碰到过的问题能够比较全面解决的解决跨域的代码,分享出来供大家参考,也为自己做个笔记。/** * [返回json格式的结果] * @method return_json * @param array $retu...原创 2018-06-29 18:08:20 · 1224 阅读 · 0 评论 -
php输出mysqli查询出来的结果
php连接mysql我有文章已经写过了,这篇文章主要是介绍从mysql中查询出结果之后怎么输出的问题。 一:mysqli_fetch_row(); 查询结果:array([0]=>小王) 查询:while ($row = mysqli_fetch_assoc($result)) { $memberlist = $row[0]; }//end while()二:mysqli_原创 2015-05-29 15:25:18 · 14454 阅读 · 0 评论 -
php require
今天研究Yii源码的时候无意间发现了require的一个一直不知道的功能,以前使用require主要是引入文件,以为是把文件内容引入进来,今天突然醒悟如果是引用的php文件会引入执行,即不但原样引入进当前文件还会进行php解析执行。前一段要做一个根据配置文件中的配置进行不同的操作,之前一直不知道该怎么读取数组配置文件,现在终于明白了。 配置文件: config.php<?phpreturn [原创 2017-10-31 18:43:26 · 1113 阅读 · 0 评论 -
php实现redis消息队列将数据保存到mysql
需求: 将消息先保存到redis,然后将redis中的数据定时保存到mysql中分析: redis保存为list,然后使用系统的定时任务调用脚本程序,通过脚本调用php文件进行处理。windows脚本(live.bat):"D:\Program Files\phpStudy\php\php-5.6.27-nts\php.exe" -f "D:\My\Program\live.gtarcade.c原创 2017-10-19 19:20:26 · 6636 阅读 · 0 评论 -
php开启redis扩展
首先需要安装redis,安装之后需要安装php_redis扩展,php_redis扩展下载地址如下:php redis 扩展: 下载地址: 1、http://windows.php.net/downloads/pecl/releases/redis/ 2、https://pecl.php.net/package/redis这两个地址的还是比较全面的,下载对应的版本的即可。 注:原创 2017-07-07 18:36:01 · 19457 阅读 · 1 评论 -
php+nginx+mysql环境配置windows
之前一直使用的集成环境phpStudy,但是cakephp需要使用php的intl扩展,不知道怎么回事儿集成环境里不能使用,只好自己手动搭建环境来使用了。 准备工作如下:nginx下载地址:http://nginx.org/en/download.htmlphp下载地址:http://windows.php.net/download#php-7.1mysql下载地址:https://dev.mys原创 2017-07-05 18:37:56 · 1000 阅读 · 0 评论 -
php判断ip是否是内网/外网ip
工作需要判断ip是否是内网ip,本来想着使用正则自己写一个呢,后来发现php自带的有现成的函数[filter_var()](http://www.w3school.com.cn/php/func_filter_var.asp) 。 除了ip验证外还有许多都可以验证,如url、email等等验证ip是否是内网ip,如果是的话返回false,否则返回ip;filter_var($ip, FILTER原创 2017-05-27 15:19:28 · 8469 阅读 · 0 评论 -
json_decode转换json数据为null
经常使用json_decode()转换json字符串,一直都很顺利,然而今天碰到了一个头疼的问题,json字符串转换过之后一直为null。 上网搜索了下,可以使用json_last_error()函数来查看json转换最后发生的错误,json_last_error_msg()用来显示最后发生的错误详情。可以分别参考json_last_error和json_last_error_msg 。 一般错原创 2017-04-17 14:43:30 · 9677 阅读 · 0 评论 -
json字符串转数组、对象(json_decode)
使用php开发的过程中避免不了使用到json格式,然而,很多时候为了方便数据的使用需要使用php把json格式的字符串转换为对象或者数组,强大的PHP提供了内置的函数,json_decode()函数可以将json进行转黄。 如:$json = '{"name":"leedaning", "age":"28"}';$obj = json_decode($json);print_r($obj);结果:原创 2017-04-17 14:01:35 · 17151 阅读 · 0 评论 -
php防sql注入
【一、在服务器端配置】安全,PHP代码编写是一方面,PHP的配置更是非常关键。我 们php手手工安装的,php的默认配置文件在 /usr/local/apache2/conf/php.ini,我们最主要就是要配置php.ini中的内容,让我们执行 php能够更安全。整个PHP中的安全设置主要是为了防止phpshell和SQL Injection的攻击,一下我们慢慢探讨。我们先使用任何编辑工具打开 /转载 2016-09-26 09:05:14 · 694 阅读 · 0 评论 -
一些神奇的php函数
phpinfo()功能描述:输出 PHP 环境信息以及相关的模块、WEB 环境等信息。危险等级:中passthru()功能描述:允许执行一个外部程序并回显输出,类似于 exec()。危险等级:高exec()功能描述:允许执行一个外部程序(如 UNIX Shell 或 CMD 命令等)。危险等级:高system()功能描述:允许执行一个外部程序并回显输出,类似于 passthru()。危险等级原创 2016-08-12 09:50:19 · 752 阅读 · 0 评论 -
php intval 两位小数乘以100后结果少1
因为工作需要,价格处理的时候往往是两位小数需要换算成分,如:16.33元换算为1633分,直接乘以100也就行了的,但是又使用了一个转换为整数类型的函数intval() 这下子结果就不对了,如图: 结果: 可以看出原本结果应该是1633的,但是使用了函数intval() 之后结果居然变为了1632了,这是由于浮点类型的数字不能在不丢失一点儿精度的情况下通过内部二进制转换得到结果的,换句原创 2016-09-09 11:42:05 · 8908 阅读 · 0 评论 -
php同名方法
在java中同一个类里面的方法(函数)可以有同名方法,只要方法中的参数个数、参数类型、不同类型的参数顺序不一样都可以视为不同的方法。 然而,在php中同一个类里面不允许这种情况,即方法名在该类中必须唯一,不能有重名方法出现。Author:leedaning 本文地址:http://blog.youkuaiyun.com/leedaning/article/details/51865262原创 2016-07-09 09:41:17 · 2946 阅读 · 0 评论 -
php不定参数方法(函数)和可选参数方法(函数)
写代码的时候经常会用到方法,而且往往还是带有参数的方法,这些对我们来说都不陌生,然而有时候需要使用的方法参数的个数不确定,这样我们就需要改变一下写法了,如下:<?phpfunction uncertainParam() { $numargs = func_num_args(); //获得传入的所有参数的个数 echo "参数个数: $numargs\n"; $args原创 2016-07-09 09:33:02 · 17855 阅读 · 0 评论 -
使用composer安装第三方插件
使用composer安装第三方插件:1、composer require latrell/wxpay2、composer.json的require中多了"latrell/wxpay": "^0.03.0"Author:leedaning 本文地址:http://blog.youkuaiyun.com/leedaning/article/details/51787330原创 2016-06-30 08:33:30 · 5982 阅读 · 0 评论 -
php调试
一直以来以为php没有调试功能,今天偶然得知一个可以用来调试的函数:dd() 用法之一:dd($parm); 函数能够显示很多信息滴哦!Author:leedaning 本文地址:http://blog.youkuaiyun.com/leedaning/article/details/46445787原创 2015-06-10 19:36:48 · 723 阅读 · 0 评论
分享