php
杨云昊
白云飘渺,日上苍穹
展开
-
使用Redis的SETNX实现锁机制
$redisKey = 'user_pull_notificatio:' . $this->userId . '_' . $val['id']; # redisKeyif (Redis::set($redisKey, 1, "nx", "ex", 30)) { # 消息加锁,防止重复发送 # 处理逻辑 Redis::del($redisKey); # 删除redisKey}原创 2021-12-03 15:04:24 · 1426 阅读 · 0 评论 -
Mac Apache php 配置域名
macOs Big Sur 11.2.2Apache/2.4.46 (Unix)PHP 7.3.241.该dian'nao原创 2021-06-19 16:22:55 · 561 阅读 · 2 评论 -
php 生成指定长度字符串
<?php/** * 获取指定长度字符串 * @author YangYunHao * @date 2021-03-04 18:33:11 * @param int $length:字符串的长度 * @param bool $numeric:是否是纯数字 * @return string */function random($length, $numeric = false){ // $_SERVER['DOCUMENT_ROOT'] 可以换成uuid $see.原创 2021-03-04 19:12:05 · 646 阅读 · 1 评论 -
计算两个经纬度间的距离
/** * 获取两个经纬度间距离 * author AarthiModoo * date 2020-12-10 19:19 * * @param $fromLng * @param $fromLat * @param $toLng * @param $toLat * @return float|int|米 */ public static function computeDistance($...原创 2020-12-18 11:00:17 · 232 阅读 · 0 评论 -
通过经纬度查询附近的人
1.通过经纬度计算四个点坐标 /** * date: 2020-12-04 11:56 * Features:计算某个经纬度的周围某段距离的正方形的四个点 * @param $lng float 经度 * @param $lat float 纬度 * @param int $distance float 该点所在圆的半径,该圆与此正方形内切,默认值为1千米 * @param int $radius * @return arr.原创 2020-12-18 10:50:58 · 479 阅读 · 0 评论 -
Mac安装yaf扩展
1. 在官网下载扩展文件https://pecl.php.net/package/yaf (选择合适的版本)2.然后把yaf压缩文件拷贝根目录下 cp /Users/AarthiModoo/Desktop/yaf-3.2.5.tgz / (路径换成自己的路径)3.积压yaf压缩包tar -xvfyaf-3.2.5.tgz4.进入解压出来的目录 cdyaf-3.2.55.执行 phpize: sudo /usr/local/php5/bin/phpize (路径换成自己...原创 2020-08-18 15:42:12 · 669 阅读 · 0 评论 -
thinkPhp 任务调度
1.书写任务,最好在app/command下,不在也没关系<?php/* * 修改已过期广告状态 * @user YangYunHao * @time 2020-07-21 14:36:51 * */namespace app\cli;use think\console\Command; // 这个是必须的use think\console\Input; // 这个是必须的use think\console\Output; // 这个是必须的// 也必须交继承cla.原创 2020-07-21 17:21:44 · 1230 阅读 · 0 评论 -
php 使用 EasyWechat 获取分享链接
/* * * 获取分享链接 * 使用了 easywechat 没用过的自行看下官网文档 https://www.easywechat.com/ * @user AarthiModoo * @time 2019-12-15 21:26:07 * @param Request $request * @return \Illuminate\H...原创 2020-01-09 11:35:08 · 1108 阅读 · 0 评论 -
php 使用 EsayWechat 网页授权
/** * 发起网页授权(非静默授权) * 使用了 easywechat 没用过的自行看下官网文档 https://www.easywechat.com/ * @user AarthiModoo * @time 2020-01-09 10:54:10 * @param Request $request * @return \Sym...原创 2020-01-09 11:11:58 · 578 阅读 · 0 评论 -
php 抽奖算法
/* * 抽奖算法 * @user AarthiModoo * @time 2020-01-09 10:44:09 * @return array * */ public function randomPrize() { /* * prize 奖项 * weight 权重...原创 2020-01-09 10:44:42 · 996 阅读 · 0 评论 -
简单的 php int 类型数据加密解密
加密 /** * 加密 * @param unknown $result * @return boolean|mixed */ public static function encode(Request $request) { $val = $request->input('val',''); ...原创 2020-01-09 10:23:38 · 313 阅读 · 0 评论 -
laravel 获取执行的SQL
注意引入命名空间 use Illuminate\Suuport\Facades\DBDB::enableQueryLog();执行语句dd(DB::getQueryLog());原创 2019-12-13 19:34:52 · 1407 阅读 · 0 评论 -
Php微信App支付生成预支付订单(统一下单接口)
框架用的是Laravl 没有找到官方合适的SDK包。参考JSAPI的后端SDK包,将内部方法搬出来写了一个。生成预支付订单的时候需要进行两次签名,这个在微信的文档上没有特别的标注/* * Effect 微信支付生成预支付订单 * author YangYunHao * email 1126420614@qq.com * time...原创 2019-02-18 09:55:14 · 4241 阅读 · 0 评论 -
php 获取指定月份的开始结束时间戳
function mFristAndLast($y = "", $m = ""){ if ($y == "") $y = date("Y"); if ($m == "") $m = date("m"); $m = sprintf("%02d", intval($m)); $y = str_pad(intval($y), 4, "0", STR_PAD_RIGHT)...原创 2019-03-21 20:32:39 · 3246 阅读 · 0 评论 -
字符串与二进制之间的转换
/** * 将二进制转换成字符串 * @param type $str * @return type */ function BinToStr($str){ $arr = explode(' ', $str); foreach($arr as &...原创 2019-03-29 10:57:14 · 2460 阅读 · 0 评论 -
php 常用正则
php 的正则匹配汉字和javascript的不一样$str = '/^[\x7f-\xff]{1,20}$/';if(!preg_match($str,$request_content['city'])){ die('错了');}原创 2019-04-28 14:11:15 · 239 阅读 · 0 评论 -
Laravel 出现 No application encryption key has been specified
若文件根目录下没有 .env1、.env.example 改名使用命令 copy 修改为 .env2、使用命令 php artisan key:generate 获取密码,自动保存到 .env3、将密码复制到config/app.php 中的key里面刷新页面即可...原创 2019-06-13 09:38:00 · 606 阅读 · 0 评论 -
Laravel 路由分发
想让laravel 走不同的路由文件可以在 /app/Http/Kernel.php 进行配置,代码如下 /** * The application's route middleware groups. * * @var array */ protected $middlewareGroups = [ 'web' =>...原创 2019-06-14 11:26:27 · 568 阅读 · 0 评论 -
Laravel Syntax error or access violation: 1055 Expression #1 of ORDER BY clause is not in GROUP BY
错误信息如下解决办法如下这是严格的db问题,你需要在你的配置/数据库中禁用严格模式'strict' => false文件位置 /config/database.php修改如下 'mysql' => [ 'driver' => 'mysql', 'host' => env('DB_HOST...原创 2019-07-11 21:35:52 · 1149 阅读 · 0 评论 -
php支付宝App支付生成预支付订单(统一下单接口)
使用支付宝官方提供的SDK包,基本上不需要写什么代码/* * Effect 支付宝支付生成订单 * author YangYunHao * email 1126420614@qq.com * time 2019-02-14 11:12:31 * parameter request:请求参数 * retu...原创 2019-02-18 09:40:58 · 5490 阅读 · 0 评论 -
php Aes 加密
主要应用在传输密码上有两种方法第一种较为复杂<?phpnamespace Aes;class Aes{ /** * var string $method 加解密方法,可通过openssl_get_cipher_methods()获得 */ protected $method; /** * var string $se...原创 2019-01-04 11:55:19 · 1578 阅读 · 0 评论 -
Laravel 查询多个字段使用聚合函数
使用SUM $data = TeacherWageProject::leftJoin('teacher_user_wage_project_money','teacher_wage_project.id','=','teacher_user_wage_project_money.wage_project_id') ->leftJoin('teacher_use...原创 2018-12-24 18:39:28 · 7162 阅读 · 0 评论 -
PHPExcel 文件导入
在网上下载PHPExcel文件下载完成后只保留Classes即可,这是本人的GitHub上的文件地址https://github.com/yangyunhao/life-experience/tree/master/Php%E7%AC%AC%E4%B8%89%E6%96%B9%E7%B1%BB读取文件public function read(){ $filename = '....原创 2018-10-12 17:25:38 · 817 阅读 · 0 评论 -
laravel 简单粗暴的 事物
DB::beginTransaction(); // 开启事物 $userState = CloudUser::insert($insertUser); // 用户数据入库 $roleState = true; // 默认插入到用户角色关联表的状态是真,因为不一定会插 if(!empty($request...原创 2018-09-14 14:35:08 · 166 阅读 · 0 评论 -
Laravel 使用 Cookie
use Illuminate\Support\Facades\Cookie; 引用cookieCookie::queue('account',['phone'=>$phone,'pwd'=>$pwd]); // 将数据存入cookie Cookie::queue(Cookie::forget('account')); // 删除cookie 这样才能完全删除Cook...原创 2018-08-14 16:33:54 · 1186 阅读 · 0 评论 -
php使用二维码类库生成图片二维码
将二维码类库放到/Vendor/目录下QRCode/phpqrcode.php现放在百度网盘下有需要时下载http://pan.baidu.com/s/1pL6veER以下为具体的操作方法前端代码 点击出现二维码 $(function(){ $('.code').click(function(){原创 2017-08-03 15:52:46 · 465 阅读 · 0 评论 -
curl 模仿浏览器post 访问
//仿post访问 //声明语言 header('content-type:text/html;charset=utf-8'); //传值三个参数 访问路径 数值 方式 function curlPost($url,$data,$method){ $ch = curl_i原创 2016-04-12 15:40:35 · 2604 阅读 · 1 评论 -
php.ini中文件上传功能配置选项说明
打开php.ini 配置文件,查找 File Uploads ,在这个区域有以下3个选项:file_uploads = On是否允许HTTP文件上传。默认值为On允许HTTP文件上传,此选项不能设置为Off。upload_tmp_dir =文件上传的临时存放目录。如果没指定则PHP会使用系统默认的临时目录。该选项默认为空,此选项在手动配置PHP运行环境时,也容易遗忘,如果不配置这个原创 2016-08-30 14:14:48 · 699 阅读 · 0 评论 -
yii框架下使用redis
1 首先获取到 yii2-redis-master.zip 压缩包 下载地址https://github.com/yiisoft/yii2-redis/archive/master.zip2 把下载的扩展文件放到vendor/yiisoft/下,命名为yii2-redis3 修改vender/yiisoft/下的extensions.php,加入redis扩展 'yii翻译 2016-07-06 21:46:44 · 2238 阅读 · 0 评论 -
PHP 常用header头
header('HTTP/1.1 200 OK'); // ok 正常访问header('HTTP/1.1 404 Not Found'); //通知浏览器 页面不存在header('HTTP/1.1 301 Moved Permanently'); //设置地址被永久的重定向 301header('Location: http://www.ruonu.com/'); //跳转到一个新的...原创 2016-05-24 16:56:09 · 296 阅读 · 0 评论 -
laravel查询数据库 两个字段相等查询方法
1.在laravel查询中,我们需要查找两个字段相等的值,这种方法不行$data = DB::connection('mysql_branch')->table('branches') ->where('is_usable',1) ->whereRaw('money','amount')->get();2.这种也不行$first_agent = DB::...原创 2018-10-25 09:59:17 · 4293 阅读 · 0 评论 -
php 无限极递归
public function recursion($list, $newArr=[], $pid = '0',$level = 0){ $newArr = []; // 新数组用于存放数据 if (!empty($list)) { foreach ($list as $k => &$v) { if ($v['pid'] ==...原创 2018-10-31 11:27:19 · 493 阅读 · 0 评论 -
PHP 生成订单号
$order_id_main = date('YmdHis') . rand(10000000,99999999);//订单号码主体长度$order_id_len = strlen($order_id_main);$order_id_sum = 0;for($i=0; $i<$order_id_len; $i++){ $order_id_sum += (int)(s...原创 2018-10-26 17:23:17 · 928 阅读 · 0 评论 -
Laravel where orWhere 优先执行
$data = TeacherField::where($where)->where( function($query)use($user){ // use($user) 传递变量 否则会报错 $query->where('school_id',$user->school_id) ...原创 2018-12-24 11:28:40 · 856 阅读 · 0 评论 -
Laravel记录sql日志
1.使用DB的listen方法文件位置:/app/Providers/AppServiceProvider.phpuse Illuminate\Support\Facades\DB;class AppServiceProvider extends ServiceProvider{ /** * Bootstrap any application services....原创 2018-12-18 13:14:52 · 919 阅读 · 0 评论 -
php后端允许跨域
header('Access-Control-Allow-Origin:*');header('Access-Control-Allow-Methods:POST,GET,OPTIONS');header('Access-Control-Allow-Headers:Origin,x-requested-with,content-type,Accept');我是放在入口文件了,放在具体的方...原创 2018-12-10 15:29:45 · 2592 阅读 · 3 评论 -
Laravel使用GroupBy时遇到isn't in GROUP BY
在laravel中使用groupBy的时候会出现 isn't in GROUP BY但是放在mysql管理工具中就没有错误, 这个原因是因为 laravel配置中的strict配置问题, 因为在配置中配置为true的时候,laravel的groupBy会为所有的例分组, 设置为false之后,他只会为你指定的列分组,就可以解决这个问题。...原创 2018-12-13 14:10:05 · 1359 阅读 · 0 评论 -
php二维数组指定下标排序
/* * Effect 排序 * author YangYunHao * email 1126420614@qq.com * time 2018-11-26 11:59:38 * parameter arr:排序数组,key:按什么排,type:升序降序 * */ function arra...原创 2018-11-30 17:20:49 · 2356 阅读 · 0 评论 -
PHP 上传文件错误信息
从 PHP 4.2.0 开始,PHP 将随文件信息数组一起返回一个对应的错误代码。该代码可以在文件上传时生成的文件数组中的 error 字段中被找到,也就是 $_FILES['userfile']['error']。UPLOAD_ERR_OK其值为 0,没有错误发生,文件上传成功。UPLOAD_ERR_INI_SIZE其值为 1,上传的文件超过了 php.ini 中 upload_m...原创 2018-12-04 10:53:26 · 888 阅读 · 0 评论 -
网商银行对接
与网商银行对接,实现开户,绑卡,解绑,提现,等操作,这是整理出来的代码,关于签名,网商银行只提供了Java实例,我不会Java,签名由其他同事完成,有需要的可以自行研究下。 <?php class bank { private $original = [ 'version' => '2.0', 'par...原创 2018-11-15 09:52:06 · 8118 阅读 · 8 评论