php
晓龙来了
没有
展开
-
php查看用户是用微信内置浏览器访问还是支付宝内置浏览器
<?php#php判断微信还是支付宝if (strpos($_SERVER['HTTP_USER_AGENT'], 'MicroMessenger') == true) { $browser = '微信浏览器';} else if (strpos($_SERVER['HTTP_USER_AGENT'], 'AlipayClient') == true) { $brow...原创 2018-09-19 08:57:01 · 1988 阅读 · 0 评论 -
base64格式的图片字符串和图片文件相互转换的代码
在移动端上传图片的时候通常会将图片转换成base64格式的字符串提交,所以此时需要使用服务器端的程序进行转换成二进制的数据。如下PHP代码实现了图片文件和base64格式的图片字符串相互转换的方法,同时保证了图片字符串转图片文件时数据类型的问题,进行了简单的封装,使用时可根据实际情况进行修改。具体查看如下代码:class Img{ /** @param $base64Str bas...转载 2018-10-17 10:34:33 · 181 阅读 · 0 评论 -
PHP数组和XML相互转换的函数
//数组转xmlfunction ArrToXml($arr){ if(!is_array($arr) || count($arr) == 0) return ''; $xml = "<xml>"; foreach ($arr as $key=>$val) { if (is_numeric($val)){ $xml.="<".$key.">...转载 2018-10-17 10:37:11 · 101 阅读 · 0 评论 -
使用API接口方式调用电脑Alipay网站支付功能
其实真是的支付宝支付网关和支付宝沙箱只是提交地址不同,如果是沙箱吧沙箱地址填写上去,如果是正式的环境请把真实的支付宝网关填写上去;支付宝沙箱网关:https://openapi.alipaydev.com/gateway.do支付宝正式网关:https://openapi.alipay.com/gateway.do 一,主页填写各种参数新建一个pay.php文件 <...原创 2018-10-26 15:09:16 · 1960 阅读 · 0 评论 -
根据经纬度求距离(算法)
public function howLang(Request $request){ $navi_id = $request->get('id');//分类id,或其他查询条件 $storex = $request->get('longitude');//经度 $storey = $request->get('latitude')...转载 2019-01-04 11:33:21 · 3879 阅读 · 1 评论 -
PHP4种基础排序算法(冒泡、选择、插入、快速)
冒泡算法 /** * @param $arr * @return mixed * 冒泡排序算法 */function buSort($arr){ $count = count($arr); $num = ""; for ($j = 0; $j < $count - 1; $j++) { for ($i = 0; $i < $co...原创 2019-01-04 11:38:05 · 143 阅读 · 0 评论 -
redis使用队列进行抢购活动(秒杀)
开启redis服务。同一html页面模拟多个用户抢购,抢购名额为5。lpush.html代码如下:<!DOCTYPE html><html> <head> <title>TODO supply a title</title> <meta charset="UTF-8">原创 2019-01-04 11:49:52 · 1064 阅读 · 0 评论 -
ES (elasticsearch) 集群配置
先了解几个概念1.候选主节点(Master-eligible node)一个节点启动后,就会使用Zen Discovery机制去寻找集群中的其他节点,并与之建立连接。集群中会从候选主节点中选举出一个主节点,主节点负责创建索引、删除索引、分配分片、追踪集群中的节点状态等工作。设置方式node.master: true2.数据节点(Data node)负责数据的存储、检索等操作,对磁空间、C...原创 2019-01-04 12:00:45 · 1024 阅读 · 0 评论 -
安装elasticsearch的php类库
单独安装elasticsearch的php类库composer require elasticsearch/elasticsearch使用类库:require_once( './vendor/autoload.php');$esclient = Elasticsearch\ClientBuilder::create() ->setHosts([...原创 2019-01-04 13:38:07 · 468 阅读 · 0 评论 -
elasticsearch服务的安装设置
安装jdkrpm -ivh jdk-11_linux-x64_bin.rpm安装elasticsearchtar zxvf elasticsearch-6.5.0.tar.gz#不要解压到/root 目录下 本次演示解压到根目录启动 elasticsearchcd elasticsearch-6.5.0/bin./elasticsearch启动时可能会出现 ca...原创 2019-01-04 13:42:06 · 154 阅读 · 0 评论 -
elasticsearch分词插件安装
官方地址:https://github.com/medcl/elasticsearch-analysis-ik两种安装方式:1. 进入elasticsearch-6.5.0/plugins/然后mkdir ik cd ik wget https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v6.5....原创 2019-01-04 13:47:54 · 264 阅读 · 0 评论 -
laravel使用自定义函数
1.在app目录下创建Helpers目录然后新建文件,文件名任意,其实目录名也可以任意,下面以目录名为Helpers作为示例说明,在该目录下创建func.php,如下图目录结构为app/Helpers/func.php2.在composer.json 中 autoload 增加:"autoload": { "classmap": [ "dat...原创 2019-01-04 13:59:23 · 2383 阅读 · 0 评论 -
约瑟夫环(猴子选大王)算法
猴子选大王算法function seking($n,$m){ //构建元素为n的数组 for($i=1;$i<=$n;$i++){ $arr[$i]=$i; } $tmp=1; //如果数组中的下标可以被m整除,则删除该数值 //如果数组中的下标不被m整除,则该值移动到数组最后,删除该下标值 while(count...原创 2019-01-07 11:45:11 · 654 阅读 · 1 评论 -
二分法查找
二分法查找 (递归法)function Search($arr,$val,$start,$stop){ //确定中间值的索引 $mkey=ceil(($start+$stop)/2); //如果中间值等于查找值返回索引 if($arr[$mkey] == $val){ return $mkey; } //如果中间值大于查找值,则...原创 2019-01-07 11:59:15 · 199 阅读 · 1 评论 -
阶乘算法
阶乘非递归算法 function product($n){ $product=1; for($i=1;$i<=$n;$i++){ $product*=$i; } return $product;}阶乘递归算法function product($n){ if($n==1){ return 1; ...原创 2019-01-07 13:42:17 · 352 阅读 · 0 评论 -
斐波那契数列算法
斐波那契数列递归算法function fibo($n){ if($n==1){ return $arr=[1]; }else if($n==2){ return $arr=[1,1]; } $arr=[1,1]; for($i=2;$i<$n;$i++){ $arr[$i]=$arr[$i-1]+$a...原创 2019-01-07 13:43:09 · 372 阅读 · 0 评论 -
Nginx兼容框架的pathinfo模式与URL重写
几乎所有的框架(ThinkPHP,Zend Framework,CI,Yii,laravel等)都会使用URL重写或者pathinfo模式,使URL看起来更美观,比如可以隐藏掉入口文件,并且有利于搜索引擎优化,其实让Nginx支持pathinfo或者重写也不难,首先在php.ini中设置cgi.fix_pathinfo=1再就是添加配置文件(新版nginx) 内容如下:#p...转载 2018-08-16 20:21:23 · 364 阅读 · 0 评论 -
使用PHP实现RSA算法的签名和验签
使用RSA算法除了加密解密之外(加密解密的代码可以查看本站PHP使用RSA加密算法解密数据 这篇文章),在支付等接口方面通常还会用到生成签名和验证签名操作,下面是PHP代码:class RSA{ /** * RSA签名 * @param $data 待签名数据 * @param $private_key 私钥字符串 * ret...转载 2018-08-16 20:10:42 · 5865 阅读 · 0 评论 -
使用CURL实现GET和POST方式请求
卷曲请求,支持GET和POST两种方式,默认为GET方式,如果传第二个参数则为POST方式请求,设置了超时时间,避免程序卡死。/** 使用curl方式实现get或post请求 @param $url 请求的url地址 @param $data 发送的post数据 如果为空则为get方式请求 return 请求后获取到的数据*/function curlRequest(...转载 2018-08-16 20:07:27 · 696 阅读 · 0 评论 -
lnmp一键安装包连接本地navicat
lnmp问题解决:1.MySQL/MariaDB无法远程连接,如何开启? 为了安全LNMP默认是禁止远程连接的先进入MySQL:进入MySQL的命令 :mysql -u用户名 -p密码GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;flush privileg...原创 2018-07-23 16:16:12 · 505 阅读 · 2 评论 -
CentOS7下安装memcached服务(源码安装)
CentOS7下安装的memcached的服务大致步骤:一,首先下载memcached的二,安装前需要先安装了libevent三,解压四,进入目录五,配置六,编译七,安装八,启动memcached的CentOS7下安装的memcached的服务详细步骤:首先下载memcached的wget http://www.memcached.org/fil...原创 2018-07-19 20:34:25 · 597 阅读 · 0 评论 -
PHP7环境以上安装redis扩展(php)(源码安装)
注:以下介绍的安装方式为PHP的安装路径为在/ usr /本地/ PHP的,如果你的服务器上PHP的安装目录不一致请按实际情况处理 PHP7环境以上安装Redis的扩展(PHP)的大致步骤:一,首先下载PHP7的Redis的扩展二,解压三,进入目录四,执行phpize五,执行PHP-配置六,编译七,编译并执行八,修改扩展目录九,的php.ini中加入配置...原创 2018-07-19 20:48:15 · 669 阅读 · 0 评论 -
PHP7环境以上安装memcache和memcached扩展(php)(源码安装)
PHP7环境以上安装memcache扩展和memcached扩展(php)大致步骤:一、首先下载PHP7的redis扩展二、解压三、进入目录四、执行phpize五、执行php-config六、编译七、编译并执行八、修改扩展目录九、php.ini中加入配置十、重启php-fpm使之生效如果使用php操作memcached服务器最方便的方式就是安装mem...原创 2018-07-19 21:07:16 · 3052 阅读 · 0 评论 -
使用PHP利用phpmailer发送电子邮件
先来几句废话: phpMailer是一个非常强大的php发送邮件类,可以设定发送邮件地址、回复地址、邮件主题、html网页,上传附件,并且使用起来非常方便。 phpMailer的特点: 1、在邮件中包含多个 TO、CC、BCC 和 REPLY-TO。 2、平台应用广泛,支持的 SMTP 服务器包括 Sendmail、qmail、Postfix、Gmail、Ima...转载 2018-07-19 21:16:06 · 408 阅读 · 0 评论 -
在Laravel中使用不带命名空间的第三方类库
在使用laravel框架时有时会遇到使用第三方类库的情况,那么在Laravel框架中如何引入第三方类库呢?require?include? 这些虽然可以但不是好办法,下面介绍一下使用方式。首先规划一个存放第三方类库的文件夹,比如我打算在app下创建一个extend文件夹,以后遇到第三方类就放在这个目录了,加入现在我有一个Test类和一个Xg类,我可以按下图所示方法放置:然后打开项...转载 2018-08-10 15:21:17 · 593 阅读 · 0 评论 -
PHP使用json编码时中文被编码的问题
在使用PHP对含有中文的数据进行json_encode编码时中文数据会被unicode编码导致中文变成类似"\u9ece\u660e\u4e92\u8054"的编码,有时需要处理转换才可以达到想要的目的。 其实json_encode函数还有第二个参数,如果第二个参数使用JSON_UNESCAPED_UNICODE就可以解决这个问题,有需求的童鞋可以使用一下,类似如下代码:$data...原创 2018-08-10 15:26:44 · 1643 阅读 · 0 评论 -
使用API接口方式调用阿里云短信接口
传入手机号,AccessKey ID,Access Key Secret,签名名称,模版代码date_default_timezone_set('GMT');#手机号码$phone = '';#短信签名名称$signName = '';#AccessKeyID$appid = '';#AccessKeySecret$secret = ''; #模板code$tpli...原创 2018-08-10 15:46:03 · 2074 阅读 · 0 评论 -
使用API接口方式调用手机Alipay网站支付功能
其实真是的支付宝支付网关和支付宝沙箱只是提交地址不同,如果是沙箱吧沙箱地址填写上去,如果是正式的环境请把真实的支付宝网关填写上去;支付宝沙箱网关:https://openapi.alipaydev.com/gateway.do支付宝正式网关:https://openapi.alipay.com/gateway.do 一,主页填写各种参数新建一个pay.php文件<?p...原创 2018-08-13 20:51:37 · 6582 阅读 · 0 评论 -
使用PHP判断是否为微信、支付宝等移动设备访问代码
在开发过程中经常遇到根据不同的设备显示不同的数据或者在页面样式上做不同的布局,另外在做支付接口的时候也可能会判断当前是什么设备访问,例如判断如果是微信内置浏览器访问则只启用微信支付功能,如果是支付宝内置浏览器访问也是类似的处理方式,那么如何判断当前访问的设备呢,通常使用的方式是通过请求头信息中的HTTP_USER_AGENT来判断,例如微信访问在USER_AGENT中就会带有Mic...转载 2018-08-16 20:03:15 · 2019 阅读 · 0 评论 -
PHP使用AES加密和解密
366 0 2AES加密在php5的版本中使用的mcrypt_decrypt 函数,该函数已经在php7.1后弃用了,取而代之的是openssl的openssl_encrypt和openssl_decrypt,并且代码也非常精简,下面是示例代码:class Aes{ public $key = ''; public $iv = ''; public function __co...转载 2019-01-07 14:16:21 · 1295 阅读 · 0 评论