PHP
码农也是人
这个作者很懒,什么都没留下…
展开
-
【workerman心跳实现】
【代码】【workerman心跳实现】原创 2024-05-06 15:43:33 · 215 阅读 · 0 评论 -
tp5 where条件一个字段与另一个字段比较写法
$lists = Db::name('user')->whereExp('money','>= inter')->where($where)->select();原创 2020-07-28 17:53:30 · 2007 阅读 · 0 评论 -
根据数组中的某个值分组
<?php$arr = [ 0 => [ "category" => "red", "price" => 95 ], 1 => [ "category" => "blue", "price" => 85 ], 2 => [ "category" =&.原创 2020-07-25 18:36:32 · 652 阅读 · 0 评论 -
获取当前日期节点的一周日期
function get_week($time = '', $format='Y-m-d'){ $time = $time != '' ? $time : time(); //获取当前周几 $week = date('w', $time); $weekname = array('周一','周二','周三','周四','周五','周六','周日'); //星期日排到末位 if(empty($week)){ .原创 2020-07-11 17:20:34 · 532 阅读 · 0 评论 -
tp5生命周期
前段时间用TP5开发了一个小程序,就熟悉了一下TP5。TP5是TP框架最新的一个版本,与以前的3还是有很大的区别,有人说和laravel比较靠近,其实也还好,每个人都有自己不同的看法,只要是选择一个自己用起来比较顺手的框架就好了。我在学习一个框架的时候,最开始还是先看一下生命周期,真正了解生命周期之后,才能做到对整个框架整体的把握,在细节方面也能更好的理解。1:入口文件:TP5的入口...转载 2019-07-15 20:59:20 · 246 阅读 · 0 评论 -
Maximum execution time of 30 seconds exceeded解决办法
今天给朋友配置wamp的时候,刚刚搭建好,打开一个本地站就出现这个错误,Maximum execution time of 30 seconds exceeded,今天把这个错误的解决方案总结一下:简单总结一下解决办法:报错一:内存超限,具体报错语句忘了,简单说一下解决办法。利用循环分批导入;每个循环内部开始处使用sleep(5);语句,做延迟执行,防止服务器内存同一时间占用过...转载 2019-03-12 14:57:09 · 1952 阅读 · 0 评论 -
PHPstorm汉化包
链接:https://pan.baidu.com/s/1ArcNtmN3cqxeLdjRiUb8iA 密码:2or7转载 2019-03-20 18:53:57 · 469 阅读 · 0 评论 -
tp5更新方法
// 过滤非数据表字段更新 public function update(Request $request){ $user = model('User'); $result = $user -> allowField(true)->save($request->param(),['id'=>1]); dump($re...转载 2019-03-06 15:48:24 · 5120 阅读 · 0 评论 -
tp5 insert 和save 区别
insert 是插入,返回插入的条数insertGetId:是插入返回idsave 是插入返回id 也可以更新update 也是更新(推荐修改时使用此方法)原创 2019-03-06 15:45:18 · 2271 阅读 · 0 评论 -
使用PHP类库PHPqrCode生成二维码
PHPqrCode是一个PHP二维码生成类库,利用它可以轻松生成二维码,官网提供了下载和多个演示demo,查看地址:http://phpqrcode.sourceforge.net/。 下载官网提供的类库后,只需要使用phpqrcode.php就可以生成二维码了,当然您的PHP环境必须开启支持GD2。 phpqrcode.php提供了一个关键的png()方法,其中参数$text表示生成...转载 2019-01-08 10:42:39 · 207 阅读 · 0 评论 -
递归与非递归方式实现阶乘
递归方式实现阶乘: function getFactorial($num){ if($num == 1){ return 1; }else{ return getFactorial($num-1).'*'.$num; }}非递归方式实现阶乘:function Factorial($number){ $process = ...原创 2018-12-11 13:57:32 · 677 阅读 · 0 评论 -
PHP cURL请求中CURLOPT_POSTFIELDS只支持一维数组
使用PHP发起请求时,我们会常用cURL方法,具体的PHP请求方式可以参考 PHP cURL请求详解 这篇文章。cURL发起POST请求在使用中,如果你需要发送POST的请求,需要配置CURLOPT_POST和CURLOPT_POSTFIELDS两个参数,curl请求封装后的源码如下:/** * 使用cURL方法获取接口数据 * @param $uri 请求的url * @pa...转载 2018-11-30 14:51:00 · 1041 阅读 · 0 评论 -
观察者模式
<?php// 主题接口interface Subject{ public function register(Observer $observer); public function notify();}// 观察者接口interface Observer{ public function watch();}// 主题class Action im...转载 2018-10-17 15:39:20 · 126 阅读 · 0 评论 -
求一个整数数组中和最大的连续子数组,例如:[1, 2, -4, 4, 10, -3, 4, -5, 1]的最大连续子数组是[4, 10, -3, 4](需写明思路,并编程实现)
求一个整数数组中和最大的连续子数组,例如:[1, 2, -4, 4, 10, -3, 4, -5, 1]的最大连续子数组是[4, 10, -3, 4](需写明思路,并编程实现)$arr = [ 1 , 2 , -4 , 4 , 10 , -23 , 4 , -5 , 1]; $max_sum = 0;$sum=0;$new = [];$i = 1;echo '<pre/&g...转载 2018-09-30 09:14:25 · 300 阅读 · 0 评论 -
phpStudy集成环境下 安装composer失败
报错提示:The "https://getcomposer.org/versions" file could not be downloaded: failed to open stream: 由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。The "https://getcomposer.org/download/1.2.0/composer.phar.sig" f...转载 2019-09-11 12:42:41 · 1286 阅读 · 0 评论 -
Yii2获取上一个页面的路径
Yii::$app->request->referrer或者Yii::$app->request->getReferrer()原创 2018-06-22 10:33:38 · 1558 阅读 · 0 评论 -
tp5增删改查链接
详见:https://www.cnblogs.com/jiqing9006/p/9591942.html原创 2019-10-10 17:50:55 · 159 阅读 · 0 评论 -
Xshell6 中文不限时版下载(免密匙)(笔记)
Xshell6免费版 下载资源更新了,都直接去百度云下载把,省的说骗积分。(该资源不会强制更新了,安装即用,只是因为网上资源太繁琐,搜集的个人免费校园版本。飒飒水啦,各位自己考虑。(2019.9.24),如资源过期,私信我。)(重新找了一个,你们试下。能用的话,回复下我,不能的话我近期再找找)免费百度云下载:https://pan.baidu.com/s/1bxihVyzH-0KPR...转载 2019-10-10 11:26:16 · 764 阅读 · 1 评论 -
使用PHPExcel实现Excel文件的导出
准备工作:1.下载PHPExcel的SDK,下载地址:https://github.com/PHPOffice/PHPExcel。原生:/** * 处理表单导出成表格 */ function excel_handle($a = 2) { require_once 'vendor/PHPExcel/PHPExcel.php'; ...原创 2019-10-04 15:40:22 · 505 阅读 · 0 评论 -
Yii2各种链接
增删改查:https://blog.csdn.net/qq_18335837/article/details/80854855https://www.cnblogs.com/JeromeZ/p/4495649.htmlhttps://www.cnblogs.com/chrdai/p/8985641.htmlhttps://blog.csdn.net/qq_18335837/artic...原创 2019-09-18 14:56:57 · 239 阅读 · 0 评论 -
防止用户频繁调用的几种方法
防止用户频繁调用,可以有以下几种方法来限制。1. 程序限制 2. 通过linux iptables限制3. nginx限制1. 程序限制 在客户端每次请求时,都记录下客户端的ip,如果一个ip才一段时间里频繁调用了多次,就将此IP假如黑名单,在下次调用时判断此ip是否在黑名单中,如果在则直接返回404(可通过header返回)。...原创 2018-07-25 09:19:52 · 4527 阅读 · 0 评论 -
将数组转为xml格式
在实际的开发中,可能会经常将XML数据和数组之间来回的转换。如果是XML数据转换为数组,这样比较方便读取;数组转换为XML这种应用场景更为多见,如果我们某一天要写XML的接口,这一步肯定是必须要做的,通常我们从数据库中查询到的数据是数组,我们必须将数组转化为XML数据,然后将其返回。1、XML转数组步骤:(1)首先使用SimpleXML将xml文件转换为对象(2)由于这个...原创 2018-06-06 11:55:01 · 4635 阅读 · 0 评论 -
Yii2 CSRF
一、CSRF即Cross-site request forgery跨站请求伪造,是指有人冒充你的身份进行一些恶意操作。比如你登录了网站A,网站A在你的电脑设置了cookie用以标识身份和状态,然后你又访问了网站B,这时候网站B就可以冒充你的身份在A网站进行操作,因为网站B在请求网站A时,浏览器会自动发送之前设置的cookie信息,让网站A误认为仍然是你在进行操作。对于csrf的防范,一般都...转载 2018-07-02 11:47:36 · 342 阅读 · 0 评论 -
yii框架提交form表单时报400错误( Unable to verify your data submission.)几种解决方式
一、就是网络上最普遍的解决方式,将csrf关闭,这样就不会报错了,关闭的方式有两种。 1.在配置文件advanced\frontend\config\main-local.php中进行修改配置"enableCsrfValidation"=false;这种方法是针对于全局来解决的。 2. 就是在当前访问控制器下修改一个属性来修改配置,pub...原创 2018-06-12 14:26:29 · 500 阅读 · 0 评论 -
Yii2 获取模块名、控制器名、方法名
来源:http://blog.csdn.net/lypeng_/article/details/50598512Yii2 获取模块名、控制器名、方法名在视图中:模块名 $this->context->module->id控制器名 $this->context->id方法名 $this->context->action->id在...转载 2018-06-13 11:17:53 · 266 阅读 · 0 评论 -
yii2框架中表单提交出现Bad Request (#400)---Unable to verify your data submission的错误解决方法
提交表单报400错误,提示 “您提交的数据无法验证”原来是csrf验证的问题,因为表单是自己写的,在Yii框架中,为了防止csrf攻击,对post的表单数据封装了CSRF令牌验证。解决办法关闭csrf验证frontend/config/main-local.PHP中方法一、在配置文件中关闭$config = [ 'components' => [ '...原创 2018-06-11 21:55:18 · 1062 阅读 · 0 评论 -
Yii2中 AR操作andWhere和andFilterWhere区别
附加条件你可以使用andWhere()或者orWhere()在原有条件的基础上 附加额外的条件。你可以多次调用这些方法来分别追加不同的条件。 例如, $status = 10; $search = 'yii'; $query->where(['status' => $status]); if (!empty($sea...原创 2018-07-02 11:33:04 · 841 阅读 · 0 评论 -
事务的隔离级别
原文:觉得很不错我转载过来的数据库事务的隔离级别有4种,由低到高分别为Read uncommitted 、Read committed 、Repeatable read 、Serializable 。而且,在事务的并发操作中可能会出现脏读,不可重复读,幻读。下面通过事例一一阐述它们的概念与联系。Read uncommitted读未提交,顾名思义,就是一个事务可以读取另一个未提交事务的数...转载 2018-10-18 15:08:03 · 88 阅读 · 0 评论 -
PHP检测函数:Ctype类型函数
ctype_alnum:判断一个字符串是否全部为字母和(或)数字字符。如果字符串中全部是字母和(或者)数字,返回 TRUE 否则返回FALSEctype_alpha:判断字符串是否全为字母,如果不全为字母返回false否则返回truectype_cntrl:判断里面的字符是不是都是控制字符。 控制字符就是例如:换行、缩进、空格。是就返回 TRUE ;反之就返回 FALSE 。ctype...原创 2018-09-29 14:52:40 · 294 阅读 · 0 评论 -
Laravel 5 配置数据库主从读写分离和源码分析
原文地址:Laravel5配置读写分离和源码分析 一,配置过程:Laravel5读写分离配置比较简单,只需修改config/database.php,下面以MySQL数据库为例 内容如下 'mysql' => [ 'read' => [ 'host' => '192.168.1.1' ], 'write' =&...转载 2018-08-23 09:03:33 · 655 阅读 · 0 评论 -
php自定义字符串查找,根据权重插入数组
# 查找字符串出现的位置$str = 'abcdadasdgabcdadasdg';$search_str = 'asd';$len = strlen( $str );$j = 0;$s_len = strlen( $search_str );for( $i = 0 ; $i < $len ; $i++ ){ if( $str[$i] == $search...转载 2018-08-18 15:03:37 · 368 阅读 · 0 评论 -
php抽象类与接口的应用
抽象类:抽象类也是面向对象中的重要概念,和接口、继承的概念重要性相当,在面向对象的开发中,所有的对象都是通过类来描述的,但是反过来,并不是所有类都是用来描绘对象的,广义上讲如果一个类中没有足够信息来描述一个具体的对象,这样的类就是抽象类。具体用简单的代码来实现:abstract class ACanEat { // 抽象方法需要在子类中实现 abstract public f...原创 2018-08-08 17:14:50 · 157 阅读 · 0 评论 -
php返回的状态码全
1xx(临时响应)表示临时响应并需要请求者继续执行操作的状态代码。代码 说明100 (继续) 请求者应当继续提出请求。 服务器返回此代码表示已收到请求的第一部 分,正在等待其余部分。101 (切换协议) 请求者已要求服务器切换协议,服务器已确认并准备切换。2xx (成功)表示成功处理了请求的状态代码。代码 说明200 (成功) 服务器已成功处理了请求。 通常,这表示...转载 2018-08-08 17:07:12 · 875 阅读 · 0 评论 -
php四大主流框架优缺点总结
ThinkPHPThinkPHP(FCS)是一个轻量级的中型框架,是从Java的Struts结构移植过来的中文PHP开发框架。它使用面向对象的开发结构和MVC模式,并且模拟实现了Struts的标签库,各方面都比较人性化,熟悉J2EE的开发人员相对比较容易上手,适合php框架初学者。 ThinkPHP的宗旨是简化开发、提高效率、易于扩展,其在对数据库的支持方面已经包括MySQL、MSSQL、Sq...转载 2018-08-08 17:06:00 · 1951 阅读 · 0 评论 -
laravel5.6 调用第三方类库
大概流程: 1. 新建一个目录方类库 2. 配置composer配置文件 3. 在项目中使用终端运行composer dumpautoload 4. 使用时 方法调用可以new对象后->方法名访问 也可以类名::方法名访问 1. 在app目录中新建一个目录(目录名随意,我的是libs) ...原创 2018-08-08 11:55:06 · 1323 阅读 · 0 评论 -
Laravel 自定义公共函数的引入
背景习惯了 使用 ThinkPHP 框架,有一个公共方法类在代码编写上会快捷很多,所以有必要在此进行配置一番. 测试框架:Laravel 5.5步骤指导1. 创建 functions.php在 app/Helpers/(目录可以自己随便来)下新建一个文件 functions.php,在内部补充如下代码:<?php/** * Created by PhpStorm...转载 2018-08-08 11:05:36 · 266 阅读 · 0 评论 -
最适合入门的Laravel初级教程(六)配置项Config
路由和控制器我们都轻轻撩了下了;没有数据库怎么行;讲数据库前我们还得讲下配置项;laravel 的配置项是在根目录下的 /config 目录中;还有一个是根目录下的 .env 文件;为啥要有2个地方用于写配置项呢?我们打开看下很快就能明白了;打开 .env 我们就随便看两眼;第一行就是一个 APP_NAME ;我们再打开 config/app.php ;...转载 2018-08-11 14:24:20 · 671 阅读 · 0 评论 -
laravel的各种链接
session:http://laravelacademy.org/post/8791.html接值:https://blog.csdn.net/weixin_38112233/article/details/78586306重定向:http://www.mamicode.com/info-detail-2295815.html增加改查:https://www.cnblogs.com/...原创 2018-08-03 20:59:54 · 939 阅读 · 0 评论 -
laravel接值 get post cookie session 文件上传 获取url路径
laravel使用一种简单的方式来访问用户提交的信息。 你可以用统一的方式来访问用户提交的信息,而不用为用户提交信息的方式操心。引用类:use Illuminate\Support\Facades\Input;获取一个用户提交的值代码如下:$name = Input::get('name');为用户提交信息指定一个的默认返回值(如果用户未提交)代码如下:$name = ...原创 2018-08-03 20:58:26 · 311 阅读 · 0 评论 -
laravel的session获取与存取
视图获取 session{{ Session::get('user_name') }} 一次性session(验证提示)$request->session()->flash('status','ok'); 从session中获取数据...$value = session('key');指定默认值...$value = session('key'...原创 2018-08-03 20:53:20 · 9017 阅读 · 0 评论