- 博客(57)
- 收藏
- 关注
原创 TP5查询软删除之后的数据(用法)
// 默认情况下查询会过滤软删除数据// 如果想要获得所有的数据(包括软删除数据)User::withTrashed()->find();User::withTrashed()->select();// 只查出软删除数据User::onlyTrashed()->find();User::onlyTrashed()->select();...
2021-10-27 14:16:27 1348
转载 (转载)PHP 8.0 部分错误的解决办法 - 无主界 (Deprecated: Required parameter $xxx follows optional parameter $yyy )
好在大多bug已经在PHP的官网得到了提出,要做的就是等待修复了。不过在遇到的众多bug中,有一些却并不是由于PHP本身造成的,比如接下来要说的两个较为隐蔽的错误。PHP WarningWarning: Only the first byte will be assigned to the string offset in /path/wp-includes/class.wp-scripts.php on line 492其中一个错误如上所示,这个警告指向的是wp-includes/class.wp
2021-09-28 15:20:26 8530 1
转载 CSS+HTML实现移动端div左右滑动展示
现在很多移动端网站效果都很炫,由于移动设备的宽度有限,而内容太多移动设备一行装不下的,所以都会有左右滑动,下面我就用CSS+HTML实现移动端div左右滑动展示。CSS:box设置文本不换行,子元素box1行内块元素.box{ background: #eee; padding: 10px 0; white-space: nowrap;/*文本不会换行,文本会在在同一行上继续*/ overflow-y:auto;/*可滑动*/}/*自定义滚动条的伪对象选择器, CSS
2021-06-29 14:39:53 2096
原创 PHP 对抽象类(abstract)的理解
抽象类:自PHP5开始支持抽象类和抽象方法,定义为抽象的类不能被实例化。任何一个类 如果它里面至少有一个方法是抽象方法 那么这个类就必须被声明为抽象类(abstract) ,被定义为抽象的方法只是声明了其调用方式,不能定义其具体的功能实现继承一个抽象类的时候,子类必须定义为父类中的所有抽象(abstruct)方法,另外 这些方法的访问控制必须和父类中一样(或者更为宽松 比如抽象方法是 producted 那么子类中的方法可以用producted或者public) 此外方法的调用方式必须匹配 类型和所需
2021-06-25 15:21:49 552
原创 PHP对工厂模式的理解
工厂模式和生产有关。生产什么呢,生产出来的是一个实例对象,那么通过什么设备生产?通过一个工厂类生产simpleFactoty。怎么生产呢?工厂类调用自身静态方法来生产对象实例static function woman.工厂类静态方法必须返回一个对象.class SimpleFactoty { public static function woman() { return new woman(); }}使用工厂模式的必要性为什么我们要构造工厂类去创建对象呢, 考虑这种情况 我们通过一个类
2021-06-25 13:58:01 187
原创 PHP 对单例模式的理解
单例模式概念 :一个类 只能允许有 一个对象存在问题: 怎么做才能让这个类只能有一个对象?提出这个问题 那我们就可以从类的入口 __construct 这个构造方法说起 private是一个私有属性 通常我写继承的时候 构造方法都是public 把构造方法变成private 这样就不能实例化了 显然这不是我想要的结果 这时候我们就要留一个后门来处理实例化类 设置一个静态方法 看下面的例子<?phpClass Singleton{ // 定义一个静态属性 存放实例 priva
2021-06-24 10:48:07 268 2
原创 __aotoload和spl_autoload_register区别以及用法
官方定义:__autoload 尝试加载未定义的类 (函数已自 PHP 7.2.0 起被废弃,并自 PHP 8.0.0 起被移除)spl_autoload_register 注册给定的函数作为 __autoload 的实现 (新版本的还是要用这个函数)__aotoload 这是一个自动加载函数,在PHP5中,当我们实例化一个未定义的类时,就会触发此函数。看下面的一个简单例子:index.php:<?php Class Index{ public function CheckIn
2021-06-22 10:00:14 180
原创 mysql 替换函数replace()实现mysql替换指定字段中的字符串
mysql 替换字符串的实现方法:mysql中replace函数直接替换mysql数据库中某字段中的特定字符串,不再需要自己写函数去替换,用起来非常的方便。 mysql 替换函数replace()UPDATE `table_name` SET `field_name` = replace (`field_name`,'from_str','to_str') WHERE `field_name` LIKE '%from_str%'说明:table_name —— 表的名字field_name —
2021-06-06 16:00:11 981
转载 h5页面开发配置兼容-阻止双指手势缩放
//阻止双指手势放大document.addEventListener('gesturestart', function(event) { var event=event || window.event if (typeof event.preventDefault != 'undefined') {//w3c e.preventDefault(); } else{ e.returnValue = false;//ie }});//h5页面输入框顶将页面顶起
2021-05-07 09:41:37 1006
原创 解决content-type为“application/json“的post过来的数据PHP $_POST 接收不到的问题
当接收一个 application/json过来的数据的时候 $_POST 无法接收到原因: ajax默认是以**application/x-www-form-urlencoded**方式提交,也就是标准的数据类型。也就是常见的表单提交方式。在PHP中使用$_POST方式可以轻松获取。解决方法: 第一种方法就是使用**$GLOBALS['HTTP_RAW_POST_DATA']**来获取提交的数据 第二种方法就是使用 **file_get_contents('php://input')** 来
2021-04-08 15:29:39 1316
原创 laravel 5.4copy本地出现1231 Variable ‘sql_mode‘ can‘t be set to the value of ‘NO_AUTO_CREATE_USE解决方案!
这个是我今天把线上的laravel项目copy到我本地报的一个错误这个报错只要把 config/database.php里面的配置文件 65行 由True 修改为 false 具体如图:![在这里插入图片描述](https://img-blog.csdnimg.cn/20210331092607506.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0
2021-03-31 09:26:34 579
原创 WRONGTYPE Operation against a key holding the wrong kind of value 解决处理
首先这个错误的说的是 对持有错误类型的key执行错误的操作 简单来说就key设置的值是字符串类型 你要用hash来访问就会报这种错误解决方案如下:redis 127.0.0.1:6379>type key此时会显示该key在所存储redis中的类型 比如:redis 127.0.0.1:6379>hash则表示key为以hash类型存储在redis服务器里的,此时操作这个数据就必须使用hset、hget等操作方法。使用错函数方法就会报上面的错误 (多半是因为这个原因)..
2021-03-01 18:29:34 1813
原创 启动redis遇到redis Could not connect to Redis at 127.0.0.1:6379: Connection refused
1,启动redis客户端报错 错误如下:redis Could not connect to Redis at 127.0.0.1:6379: Connection refused这个意思是说 redis无法在127.0.0.1:6379连接到redis2,如何启动redis在已配置好的redis启动目录下输入:./redis-server redis.conf 如上图所示然后重新使用 ./redis-cli 就可以启动了...
2021-03-01 17:41:16 514
原创 解决X-admin2.0后台登录时获取不到data的原因
首先第一个看html标签是否是成对出现的第二个就是 from标签里面是否有 class=“layui-form” 这样就可以解决如上问题 <form method="post" class="layui-form" onsubmit="return false"> <input name="username" placeholder="用户名" type="text" lay-verify="username" class="layui-input"
2021-02-23 14:13:35 295
转载 HTTP状态码
转载来自:老咸鱼庄周目录消息(1字头)成功(2字头)重定向(3字头)请求错误(4字头)服务器错误(5字头)三位状态码的第一个数字代表了响应的五种状态之一。消息(1字头)这一类型的状态码,代表请求已被接受,需要继续处理。这类响应是临时响应,只包含状态行和某些可选的响应头信息,并以空行结束。由于 HTTP/1.0 协议中没有定义任何 1xx 状态码,所以除非在某些试验条件下,服务器禁止向此类客户端发送 1xx 响应。100 Continue 初始的请求已经接受,客户应当继续发送请求的
2021-02-23 14:07:55 137
原创 mysql查询某一时间段的数据 如:00:00:00到02:00:00
查询方式如下:SELECT * FROM table(表名)WHEREDATE_FORMAT(ctime(字段名),’%H:%i:%S’) >= ‘00:00:00’ ANDDATE_FORMAT(ctime(字段名),’%H:%i:%S’) <= ‘02:00:00’ORDER BY id ASC;DATE_FORMAT(date,format) 函数用于以不同的格式显示日期/时间数据。date 参数是合法的日期。format 规定日期/时间的输出格式。下面的脚本使用 D
2021-02-23 09:19:14 1091
原创 file_get_contents() 报错failed to open stream: HTTP request failed! HTTP/1.1 505 HTTP Version Not Supp
PHP模拟GET请求自己Crm的链接(未用sdk 自己拼接的请求链接与参数);起初用file_get_contents();就报错 :failed to open stream: HTTP request failed! HTTP/1.1 505 HTTP Version Not Supported!!!换成 curl模拟get 请求 返回值为空 没错 直接没报错 返回空字符串,,,以为curl参数设置不对,各种试到怀疑人生接着继续 获取 $info = curl_getinfo($ch); 查看
2021-02-06 16:15:49 876
原创 Call to a member function toArray() on null 遇到的错误(TP5和laravel)
Call to a member function toArray() on null含义就是保证在调用toArray的方法的时候 ,toArray是对象转数组的格式,要保证对象不能为空 错误如下: $connect = jk_parameter::find($id)->toArray();改正如下: $connect = jk_parameter::find($id); $connect = empty($connect) ? array():$connect->toArra
2021-01-27 16:36:06 6536
原创 laravel或者Thinkphp定义了路由访问出现404的解决方法
上面说的这种情况一般是 没有在url上面加index.php所导致的 一般我们的框架搭建完毕之后会生成一个.htaccess的文件 在该文件中加入以下代码即可// 去除index.php的后缀<IfModule mod_rewrite.c> Options +FollowSymlinks RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f R
2020-12-11 09:53:05 785
原创 laravel 报错 Target clas ....doese not exist的解决方法
写项目用到的 laravel5.4版本 用路由写数据 怎么写都报错 。解决方法如下找到根目录下App\Http\Providers\RouteServiceProvider.php/*The controller namespace for the application.应用程序的控制器命名空间。When present, controller route declarations will automatically be prefixed with this namespace.如果存在
2020-12-11 09:31:53 1031
原创 Uncaught RangeError: Maximum call stack size exceeded解决办法
今天写一个上传的项目的时候 报错 Uncaught RangeError: Maximum call stack size exceeded 大概意思是说我超出了最大调用堆栈的范围。然后检查代码发现了一个问题 代码如下: <a class="" > <label for="">头像</label> <div class="head-box" onclick="selectImgs()" ><img src="/a.jpg" style="w
2020-09-07 15:29:18 4711
原创 order by 无法排序 mysql
这几天写项目的时候 要写一个排序 但是无论是正序还是倒序发现数据都没有变化。 后来仔细研究了下 order by 发现 order by只能对 int 或者date进行排序 当时我的数据类型是varchar 所以不能排序现在说下解决方法select * from table order by score asc; // 这个是正常的sql 排序语句 假设score是非int或者date类型的时候 是无法排序的。 select * from table order by score+0
2020-09-03 15:42:27 996
原创 PHP二维数组 按照数组内某个键排序
二维数组按照某个数组内的key来排序题解如下:function array_sort($arr,$key,$sort=0){ if(!is_array($arr) || empty($arr)) { return false; } // 先循环把二维数组 转换为一位数组 foreach($arr as $item=>$items) { $keysortval[] = $items[$key]; } // 转换成功后 判断传过来的排序是0还是1 if($sort =
2020-08-11 10:55:36 108
原创 PHP二分查找(折半查找!)
二分查找最重要是要求线性表必须采用顺序存储结构,而且表中元素按关键字有序排列。详解: function binary_search($arr,$number) { if(!is_array($arr) || empty($arr)) { return -1; } $lenth = count($arr); $lower = 0; $heig = $lenth-1; while($lower < $heig) { $middle = intval(($lower
2020-08-10 16:38:39 128
原创 PHP快速排序法(其中一种解法)!
今天理解了一下快速排序这个算法 题解如下: $arr = array(50,30,100,70,9,19); function QuickSort($arr) { if( count($arr) < 1 ) { // 主要是判断最后一次递归的时候终止 return $arr; } $left = $right = array(); // 变量left是承载比中间值小的数组 right是承载比中间值大的数组 一个在左边一个在右边 $middle = $arr[0]; /
2020-08-10 10:32:55 110
原创 PHP冒泡算法
闲来无事 看了下 冒泡排序 这种排序方法是面试中最常遇到的一种面试题。接下来就写下我的解题方法 public function Bubbling($arr) { if(!is_array($arr)) { return false; } for($i=0;$i<count($arr);$i++) { for($j=0;$j<count($arr)-1;$j++) { if($arr[$j] > $arr[$j+1]) { $tmp = $ar
2020-08-07 10:36:59 196
原创 清空mysql某个表内的所有数据
TRUNCATE TABLE删除表中的所有行,而不记录单个行删除操作。语法TRUNCATE TABLE name参数name是要截断的表的名称或要删除其全部行的表的名称。注释TRUNCATE TABLE 在功能上与不带 WHERE 子句的 DELETE 语句相同:二者均删除表中的全部行。但 TRUNCATE TABLE 比 DELETE 速度快,且使用的系统和事务日志资源少。DELETE 语句每次删除一行,并在事务日志中为所删除的每行记录一项。TRUNCATE TABLE 通过释放存储
2020-08-04 10:34:06 2347
原创 本地连接服务器数据库出现host ***.***.***.*** is not allowed to connect to this mysql server 解决方法
出现这个问题的主要原因是因为服务器拒绝其他主机链接的原因 下面说解决方法:1,第一步先登录mysqlmysql -u root -p; //先登录 输入密码2,进来之后 使用use mysql;命令use mysql;3,第三步执行修改 让任何主机都连接到 这台数据库 也可以指定主机链接update user set host = '%' where user = 'root';4,第四步刷新下权限即可flush privileges;执行上述四步 即可完成远程连接mysql。
2020-08-04 09:35:11 483
原创 清除a标签 li标签的样式
简单记录下清除a标签的默认样式:/*包含以下四种的链接*/a { text-decoration: none;}/*正常的未被访问过的链接*/a:link { text-decoration: none;}/*已经访问过的链接*/a:visited { text-decoration: none;}/*鼠标划过(停留)的链接*/a:hover { text-decoration: none;}/* 正在点击的链接*/a:active {
2020-07-22 15:10:00 821
原创 tp5 foreach循环出现Indirect modification of overloaded element of think\paginator\driver\Bootst错误
thinkphp5使用paginator分页查询数据后,需要foreach便利处理某一字段的数据,会出现类似题目的错误。主要是因为tp5使用分页类读取的数据不是纯数组的格式!所以在循环的时候需要用数据对象的形式进行处理。 $TeamList = Db::table('tp_team')->where(array('t_status'=>'1'))->order('id desc')->select(); $Tlist = array(); foreach ($TeamList
2020-07-08 11:26:56 1289
原创 layui关于弹窗一闪而过 设置时间无效等原因
如果弹窗一闪而过应该是没有设置 false; 所以这时候 只要用 return false; 给制止一下就ok了
2020-07-05 15:42:23 309
转载 mysql数据类型介绍(含text,longtext,mediumtext说明)
转自http://m.blog.csdn.net/sipsir/article/details/12343581转自:https://blog.csdn.net/weixin_30847865/article/details/96153888转载,文章原连接已经失效,百度快照找到的。MySQL支持大量的列类型,它可以被分为3类:数字类型、日期和时间类型以及字符串(字符)类型。本节首先给出可用类型的一个概述,并且总结每个列类型的存储需求,然后提供每个类中的类型性质的更详细的描述。概述有意简化,更详细的说
2020-05-28 10:12:58 488
原创 PHP用GD库实现简单的验证码
php 用GD库来写验证码 GD库的很多函数 要有一个基本理解/*4个步骤贯穿整个验证码的逻辑1,底图的实现 添加干扰元素2,生成验证内容3,验证内容保存在服务端4,验证内容的效验*/session_start(); // 开启session 为存储验证码做准备//画布$image = imagecreatetruecolor(100, 30); // 创建一个宽100 高30的画布$bgcolor = imagecolorallocate($image, 255, 255,
2020-05-13 15:55:54 302
原创 php根绝手机号判断归属地 超简单
根据手机号判断归属地用file_get_contents():$phone_json = file_get_contents('http://sp0.baidu.com/8aQDcjqpAAV3otqbppnN2DJv/api.php?query=手机号码&resource_id=6004&ie=utf8&oe=utf8&format=json');$phone_array = json_decode($phone_json,true);print_r($phone_a
2020-05-13 14:17:07 551
原创 网站全灰 一行css代码全部搞定
前一段时间 因为清明的缘故 各大平台背景全灰 看了一下具体的操作 只需要一行css代码即可全部搞定filter: grayscale(100%);只需要一行代码 全部搞定 小伙伴试试吧~
2020-05-13 09:01:11 171
原创 PHP面向对象编程的基本概念定义操作属性方法
PHP面向对象面向对象概念:1, 世间万物皆对象 (只要有概念的 则都是对象 可见的和不可见的)对象的基本组成:1 对象的组成元素A, 是对象的数据模型 用于描述对象的数据B, 又被称为对象的属性 或者对象的成员变量2 对象的行为A, 是对象的行为模型 用于描述对象能够做什么事情B, 又被称为对象的方法对象的特点:1, 每一个对象都是独一无二的2, 对象是一个特定事物 他...
2020-04-29 15:57:20 258
转载 爬虫必须学会的正则表达式
实际上爬虫一共就四个主要步骤:明确目标 (要知道你准备在哪个范围或者网站去搜索) 爬 (将所有的网站的内容全部爬下来) 取 (去掉对我们没用处的数据) 处理数据(按照我们想要的方式存储和使用) 模式修正符的构成 模式修正符就是字母,只不过这些在模式修正符的应用之中有特殊的含...
2020-04-15 15:11:27 139
原创 关于Json的一些基本概念
概念: Json是一种轻量级的数据交换格式。Json的四个基本原则1 并列的数据之间用逗号(",")分隔2 映射用冒号(":")表示3 并列数据的集合(数组) 用方括号([])表示4 映射的集合(对象) 用大括号表示。Json 优缺点1 数据格式比较简单 易于读写 格式都是压缩的 占用带宽小 2 支持多种语言 包括C,C++,Java,php,等等服务器端语言 便于服务器端的解...
2020-04-11 16:50:59 213
转载 50个PHP程序性能优化的方法
程序的执行效率很重要,低的执行效率意味着你需要在服务器硬件上有更多的投入,但是,最终的结果会因为你的程序执行效率低,连硬件也无法解决。下面几十个提高程序执行效率的小知识就有必要了解了解了。1、 用单引号代替双引号来包含字符串,这样做会更快一些。因为 PHP 会在双引号包围的 字符串中搜寻变量,单引号则不会,注意:只有 echo 能这么做,它是一种可以把多个字符 串当作参数的“函数”(译注:PHP...
2020-03-25 15:33:44 410
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人