php基础
小关@
这个作者很懒,什么都没留下…
展开
-
砍价获取金额
/** * 砍价算法-生成砍价金额 * * @param int $people 砍价人数或次数 * @param int $amount 砍价总额 单位元 * @param int $min 最低砍价金额 不得低于0 * @param int $max 最高砍价金额 砍价次数 * 最高砍价金额不得小于砍价总额 * @param int $level 层级 防止递归超出限制 * * @return array */function genRandom.原创 2020-06-14 00:30:52 · 283 阅读 · 0 评论 -
时:分:秒转秒 , 秒传时:分:秒
/** * 把HH:MM:SS格式的时间字符串转换成秒数,可以使用date_parse函数解析具体的时间信息。 * @param $time * @return float|int|mixed 反回秒数 * 2020/5/29 * 22:10 */function changeTimeFormat($time=''){ if (empty($time)){ $time=date('H:i:s',time()); } $count=count(expl.原创 2020-05-29 22:37:40 · 238 阅读 · 0 评论 -
PHP获取指定时间的前N个月
function to_last_month($num){ $today = date("Y-m-d"); $arr = array(); $m = '-'.$num.' month'; $old_time = strtotime($m,strtotime($today)); for($i = 0;$i <= $num-1; ++$i){ $t = strtotime("+$i month",$old_time); .原创 2020-05-27 16:39:26 · 608 阅读 · 0 评论 -
thinkphp 根据坐标和数据库记录坐标对比 按距离分页排序
$EARTH=6378.137; //地球半径 $PI=3.1415926535898; //PI值 //将要和数据库经纬度对比的坐标 $lng=34.15; $lat=113.65; $result=self::where($map) ->field("*,(2 * $EARTH* ASIN(SQRT(POW(SIN($PI*(".$lat."-lats)/360),2)+COS($PI*".$lat."/180)* COS(lats * $PI/180)*POW(SIN($PI*(.原创 2020-05-18 01:17:33 · 704 阅读 · 0 评论 -
提取富文本字符串的纯文本,并进行截取;
/** * 提取富文本字符串的纯文本,并进行截取; * @param $string 需要进行截取的富文本字符串 * @param $int 需要截取多少位 */function StringToText($string,$num){ if($string){ //把一些预定义的 HTML 实体转换为字符 $html_string = htmlspecialchars_decode($string); //将空格替换成空 ..原创 2020-05-10 12:07:33 · 1064 阅读 · 0 评论 -
剩余时间
/** * 剩余时间 * @param timer $ * @return mixed * @author jihaichuan */function remainingTime($timer){ $timeArr = array(); // 判断天数 if ($timer >= 86400) { $timeArr['day'] = intval($timer / 86400); if ($timeArr['day'] < .原创 2020-05-10 12:05:39 · 1682 阅读 · 0 评论 -
php 编一函数计算一个字符串中有多少个字母.汉字.数字?
<?phpheader("Content-type: text/html; charset=utf-8");echo $str = "43fdf测试fdsfadaf43543543职工问防盗锁防盗锁5345gfdgd";preg_match_all("/[0-9]{1}/",$str,$arrNum);preg_match_all("/[a-zA-Z]{1}/",$str,$arr...原创 2020-04-29 14:33:38 · 504 阅读 · 0 评论 -
ThinkPHP5轻松识别客户端信息User-Agent(获取用户的操作系统、浏览器信息)
在使用浏览器发起的 HTTP 请求中,通常会包含一个识别标识。它名为 User Agent,简称 UA。它是一串包含了客户端基础信息的字符串。通过它可以方便的获取客户端的操作系统,语言,浏览器和版本信息。在 PHP 中查看客户端 UA 标识的方式是读取系统常量 $_SERVER 中的 HTTP_USER_AGENT 选项:echo $_SERVER['HTTP_USER_AGENT'];...原创 2020-04-29 14:31:30 · 1657 阅读 · 0 评论 -
阿里云发送获取短信验证码
/** * 阿里云发送获取短信验证码 * @PROJECT_NAME 凯能婷电商APP * Notes: * @param: * User: CHAOQUN * Date: 2019/12/25 * Time: 2:33 */ public function send_sms() {...原创 2020-01-08 11:50:41 · 671 阅读 · 0 评论 -
零填充
//零填充$res=str_pad($a,6,0,STR_PAD_LEFT);dd($res);原创 2020-01-08 11:49:01 · 312 阅读 · 0 评论 -
图片验证码
<?phpnamespace app\api\controller;use app\api\model\Captcha;use Gregwar\Captcha\CaptchaBuilder;use Gregwar\Captcha\PhraseBuilder;use think\Cache;class CaptchaImg extends Basic{ /** ...原创 2020-01-08 11:44:00 · 190 阅读 · 0 评论 -
提取富文本字符串的纯文本,并进行截取;
/** * 提取富文本字符串的纯文本,并进行截取; * @param $string 需要进行截取的富文本字符串 * @param $int 需要截取多少位 */public function StringToText($string,$num){ if($string){ //把一些预定义的 HTML 实体转换为字符 $html_string ...原创 2019-12-10 15:01:54 · 1033 阅读 · 1 评论 -
Thinkphp5增加phpmailer设置邮件发送
1.下载phpmailer 我找到的是6.0.1版本包里东西比较多,只取src 目录中的文件,5个Exception.php,Oauth.php,PHPMailer.php,SMTP.php,POP3.php好像只用到了PHPMailer和SMTP.php2.在项目下的extend下建个folder命名:PHPMailer,复制上面的5个文件到该目录下3...转载 2019-04-13 19:48:41 · 393 阅读 · 0 评论 -
php 递归函数的三种实现方式
递归函数是我们常用到的一类函数,最基本的特点是函数自身调用自身,但必须在调用自身前有条件判断,否则无限无限调用下去。实现递归函数可以采取什么方式呢?本文列出了三种基本方式。理解其原来需要一定的基础知识水品,包括对全局变量,引用,静态变量的理解,也需对他们的作用范围有所理解。递归函数也是解决无限级分类的一个很好地技巧。如果对无限级分类感兴趣,请参照php利用递归函数实现无限级分类。我习惯套用通俗的话...转载 2019-04-16 19:16:34 · 91 阅读 · 0 评论 -
PHP CC视频创建直播间
/** * * 创建 CC直播间 * Date: 2019/6/26 * Time: 11:27 * */ public function create_cclive() { $url = 'http://api.csslcloud.net/api/room/create'; $...原创 2019-06-26 11:50:58 · 467 阅读 · 0 评论 -
php 一维数组排序,保留key值
function sort_with_keyName($arr,$orderby='desc'){//在内存的另一处 $a 复制内容与 $arr 一样的数组 foreach($arr as $key => $value) $a[$key]=$value; if($orderby== 'asc'){//对数组 $arr 进行排序 asort($ar...转载 2019-07-23 00:35:40 · 3643 阅读 · 0 评论 -
安装PHPCLI
查看PHP版本信息php-fpm -vPHP 7.2.20 (fpm-fcgi) (built: Jul 5 2019 16:18:47)Copyright (c) 1997-2018 The PHP GroupZend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies安装php 7.2 就安装 php72...原创 2019-08-13 13:21:12 · 1105 阅读 · 0 评论 -
记6种php 加密解密方法
记6种php 加密解密方法1<?php function encryptDecrypt($key, $string, $decrypt){ if($decrypt){ $decrypted = rtrim(mcrypt_decrypt(MCRYPT_RIJNDAEL_256, md5($key), base64_decode($string)...原创 2019-09-02 16:34:56 · 243 阅读 · 0 评论 -
PHP 二维数组根据某个字段排序
二维数组根据某个字段排序有两种办法,一种是通过sort自己写代码,一种是直接用array_multisort排序函数一. 手写arraysortPHP的一维数组排序函数:sort 对数组的值按照升序排列(rsort降序),不保留原始的键ksort 对数组的键按照升序排列(krsort降序) 保留键值关系asort 对数组的值按照升序排列(arsort降序),保留键值关...转载 2019-04-08 16:47:13 · 825 阅读 · 0 评论 -
SVN——开放防火墙端口
前言 由于前一阵偷懒,服务器安装了svn以后,把防火墙给关了,最近被告知服务器略中病毒的迹象,所以要开启防火墙,但是开着防火墙会导致svn访问失败,所以,现在就有了新的需求,开放svn服务端口。 关闭虚拟机自带的firewalld防火墙服务 systemctl stop firewalld 禁止防火墙开机自启 systemctl disabled fir...转载 2019-01-30 00:06:48 · 1705 阅读 · 0 评论 -
Nginx 502 Bad Gateway 错误的原因及解决方法
nginx 错误 connect() to unix:/var/run/php5-fpm.sock failedNginx 502 Bad Gateway 的错误已经遇到好几次了,今天处理以下,在这里记录下解决方法:首先查找nginx的错误日志文件,目录为/var/log/nginx/error.logsudo vi /var/log/nginx/error.log根据ngin...转载 2018-10-05 13:33:47 · 3343 阅读 · 0 评论 -
基于PHP类库PHPqrCode生成带LOGO二维码
PHPqrCode是一个PHP二维码生成类库,利用它可以轻松生成二维码,官网提供了下载和多个演示demo,查看地址:http://phpqrcode.sourceforge.net/。下载官网提供的类库后,只需要使用phpqrcode.php就可以生成二维码了,当然您的PHP环境必须开启支持GD2。php phpqrcode下载与案例演示地址:下载地址:http://sourceforg...转载 2018-09-27 13:59:10 · 4421 阅读 · 0 评论 -
php 字符串函数
trim(两边) 去除字符串首尾处的空白字符(或者其他字符 )rtrim() 删除字符串末端的空白字符 (或者其他字符)ltrim() 删除字符串开头的空白 字符 (或其他字符 ) $text = "\t\tThese are a few words :) ... " ; $trimmed = trim ( $text...原创 2018-07-11 23:24:48 · 1175 阅读 · 0 评论 -
php 数学函数
abs () 绝对值 echo $abs = abs (- 4.2 );ceil() 进一法取整 echo ceil(9.999);floor 舍去法取整 echo floor(9.999);fmod() 浮点数取余 $x = 5.7; $y =...原创 2018-07-11 22:39:49 · 499 阅读 · 0 评论 -
linux 动太查看日志文件 公众号开发
tail xxoo.log -f 动太查看日志文件原创 2018-09-30 19:21:45 · 211 阅读 · 0 评论 -
Linux常用打包命令
gzip此压缩和解压会删除源文件gzip test.txt 压缩(如何压缩目录还未知)gzip * 压缩当前目录下所有文件gzip -r * 压缩当前目录及其子目录下的所有文件gzip -d * 解压当前目录下所有.gz结尾的文件(非.gz结尾的会跳过)gzip -rd * 解压当前目录及其子目录下的所有.gz结尾的文件(非.gz结尾的会跳过)gzip -d all.gz 解压该文...转载 2018-10-31 09:30:14 · 240 阅读 · 0 评论 -
php 微信 统一下单 接口实例
<?phpclass wechatAppPay{ //接口API URL前缀const API_URL_PREFIX = 'https://api.mch.weixin.qq.com';//下单地址URLconst UNIFIEDORDER_URL = "/pay/unifiedorder";//查询订单URLconst ORDERQUERY_URL = "/pay/o...转载 2018-10-29 23:11:28 · 295 阅读 · 0 评论 -
SVN COMMIT 自动同步 WEB 目录下
1安装SVNyum install subversion2查看安装位置 查看svn版本号rpm -ql subversion svnserve --version3,创建 SVN版本库目录mkdir -p /opt/svn/onemkdir -p /opt/svn/two4创建版本库svnadmin create /opt/svn/onesvnadmi...原创 2018-12-30 18:42:55 · 227 阅读 · 0 评论 -
解决svnserve: Can't bind server socket: Address already in use
解决svnserve: Can't bind server socket: Address already in use最近在忙着搭建jenkins系统集成版本控制和git分布式版本控制,其中涉及到了点svn方面的,由于自己也是第一次搭建svn,挺顺利的,中间遇到点小问题:我使用的是yum安装的svn,安装完成配置结束。/etc/init.d/svnserve start ok ...转载 2018-12-29 01:11:52 · 1530 阅读 · 0 评论 -
文件上传APP
<?phpnamespace app\api\controller;use think\Cache;use think\Controller;use think\Request;class Upload extends Controller{ //上传图片 做人脸识别只识别 不保存图片 转义base64 function upload($imei){ ...原创 2018-11-07 14:25:47 · 687 阅读 · 0 评论 -
linux查看进程实例详解
一、查看进程1.1 查看正在运行的进程# ps aux | less1.2 查看指定进程pgrep mongo-connector注:mongo-connector为进程名1.3 查看用户vivek运行的进程# ps -u vivek1.4 查看进程树pstree1.5 查看动态进程top1.6 查看进程总数# ps -fe | wc -l 二...转载 2018-11-02 11:08:56 · 209 阅读 · 0 评论 -
linux查看进程实例详解
查看进程ps (重要)Process State 是非常强大的进程查看命令,用于报告当前系统的进程状态。常用选项:1、BSD风格 a——和终端有关的进程 x——和终端无关的进程 u——显示进程的执行者 2、sys V风格 -e——查看所有进程 -l——long,长格式 -f——full,详细信息 -o——指定输出格式常用命令ps #查看隶属于自己的进程ps -l...转载 2018-11-02 10:59:09 · 312 阅读 · 0 评论 -
TP5登录
use think\Controller;use think\Db;use think\Request; class User extends Controller{ public function login(Request $request)//登陆接口 { header('Access-Control-Allow-Origin:*'); ...转载 2018-11-02 10:55:37 · 1031 阅读 · 0 评论 -
tp5 报错variable type error: array解决方法
当你在tp5框架中写方法时返回一个数组时,tp5会报错:variable type error: array这是因为tp5不支持返回数组。 方法一:需要修改你的源代码 直接在返回语句中加上json()、xml().....等你需要返回的数据类型函数 例如: <?phpnamespace app\index\controller;use think\Db...转载 2018-11-01 18:07:18 · 1466 阅读 · 0 评论 -
使用composer提示[ErrorException ]proc_get_status() has been disabled for security reasons 的解决方法
从错误提示信息中可以看到是因为关闭了PHP的proc_get_status()函数,那么如何解决这个问题呢?打开php.ini文件,搜索 disable_functions,找到如下类似内容:disable_functions=passthru,exec,system,chroot,scandir,chgrp,chown,shell_exec,proc_get_status,proc_...转载 2018-10-31 01:21:09 · 14930 阅读 · 0 评论 -
记一次proc_open没有开启心得感悟
引言: 今天在部署服务器的时候,使用composer来安装依赖。遇到了 The Process class relies on proc_open, which is not available on your PHP installation. 解决方法: 在php.ini中,找到disable_functions选项,看看后面是否有proc_open函数被禁用了,如果...转载 2018-10-31 01:15:06 · 447 阅读 · 0 评论 -
laravel新建应用报错:The Process class relies on proc_open, which is not
#laravel new blogCrafting application... [Symfony\Component\Process\Exception\RuntimeException] ...转载 2018-10-31 01:11:43 · 426 阅读 · 0 评论 -
php数组函数
数组的键名和键值 array_values( ) 返回数组中所有的值 $array = array( "size" => "XL" , "color" => "gold" ); print_r ( array_values ( $array ));array_keys()返回数组中所有...原创 2018-07-11 01:50:23 · 125 阅读 · 0 评论