Graent.Hu 的博客

新浪微薄腾讯微薄

最新碎语:最近感觉有些迷茫,怎么办~

置顶文章

PHP编程

PHP编程学习

PHP编程unserialize(): Error at offset出现的原因分析以及解决方法

阅读(46) 评论(0) 标签: php phpunserialize Erroratoffset

unserialize(): Error at offset出现的原因分析以及解决方法 在PHP的unserialize函数使用中,当字符串或数据库中取出的数据有中文的时候,会出现如下错误 Notice: unserialize(): Error at offset xx of xxx bytes in C:\toolmao\php\index.php on line 21 说到中文,我们肯定第一时间想到编码,那么让我们看看不同文件编码下 serialize 函数对中文的处理是怎么样的,用同一段代码,文件用不同编码来测试 echo serialize(array('name'=>'工具猫','url'=>'http://www.toolmao.co...

PHP编程PHP判断键值数组是否存在,使用empty或isset或array_key_exists

阅读(43) 评论(0) 标签: PHP数组 php判断键值 php数组键值

本文目的 前几天工作中,需要频繁判断数组中的键值对是否存在,起初使用的”!empty($arr[‘key’])”来判断,觉得这样读起来比较舒服,但是写出的代码无法通过单元测试(单元测试太好了)。排查很久,终于发现,当$arr[‘key’] == 0时,empty仍然返回true,这样破坏了业务逻辑! 今天终于有空,就将判断数组键值对存在的方法查阅了一下,记录于此,作为备忘。   一个例子 猜猜看,下面的例子会输出什么? <?php $a = array('a'=>1, 'b'=>0...

PHP编程ecshop添加自定义lbi文件

阅读(461) 评论(0) 标签: 大商创 ecshop

1.找到 admin下面 includes\lib_template.php 找到 $page_libs = array( 这里…. 给您需要的页面加上 你自己的 boke365.lbi 2.找到 languages 下面的 zh_cn\admin\template.php 添加$_LANG['template_libs']['seoyy'] = ‘我的seoyy’; 3. 在 themes\模板文件夹下面的 libs.xml 修改, 加上 /labrary/boke365.lbi 4. 在 labrary 加上 boke365.lbi

PHP编程ThinkPHP5垮模块调用控制器使用controller的方法

阅读(1912) 评论(0) 标签: tp5 thinkPHP5 controller 跨模块调用 垮控制器调用

ThinkPHP5垮模块调用控制器使用controller的方法 首先在此前的版本3.*的时候调用是使用A方法实现的,如下: $IndexController = A("index"); return $IndexController->index(); 而在tp5的时候,取消的A方法,取而代之的是controller,其方法代码为: /** * 用于实例化访问控制器 * @param string $name 控制器名 * @param string $path 控制器命名空间(路径) * @return Think\Controller|false */ function controller($name,$path=''){ ...

PHP编程TP5 如何接收表单多选框(type="checkbox")

阅读(1495) 评论(0) 标签: tp5 thinkPHP5 input

今天倒蹬东西的时候,试着用tp5接收传过来的数组,发现直接使用input('aaa');获取不到内容,搜索了一下发现应该使用 input('aaa/a'); 来接收数组, input('aaa/a'); 在TP5的post提交方式中,有一个坑爹的bug就是post提交数据不能提交数组。  解决办法: 如果你要获取的数据为数组,请一定注意要加上 /a 变量修饰符才能正确获取到。 例如: $ids = input(' ids/a'); // ids后面加上/a $aaa= implode(",",$aaa...

PHP编程转:composer require安装指定版本

阅读(2101) 评论(0) 标签: composer composer安装

版本符号说明 #最新版 * # 大于等于1.0的最高版本 >=1.0 #大于等于1.0且小于2.0的最高版本 >=1.0 <2.0 #1.0至2.0之间的最高版本 1.0 - 2.0 #>=1.0且<1.1的最高版本 1.0.* #>=1.2且<2.0的最高版本 ~1.2 #>=1.2.3且<1.3.0最高版本 ~1.2.3 #>=1.2.3且<2.0.0的最高版本 ^1.2.3 安装依赖包 composer require xxx/xxx:1.0.x composer require xxx...

PHP编程简单的一个使用php给字符串加星号‘*’的方法,例如给手机号、身份证等加星号

阅读(1455) 评论(1) 标签: PHP字符串加星号 PHP字符串加* PHP字符串隐藏

简单的一个使用php给字符串加星号‘*’的方法,例如给手机号、身份证等加星号 主要代码: /** * 添加星号 * @param string $str 目标字符串 * @param int $l 左侧留存长度 * @param int $r 右侧留存长度 * @param int $chr_len 星号数目 * @param string $chr 星号或者其他自定义的字符 * @return mixed 返回 */ function gr_asterisk($str = '',$l = 3,$r = 3,$chr_len = 6,$chr = '*'){ ...

PHP编程修改自ThinkPHP的图片类,支持裁剪、生成缩略图、添加文字水印以及添加图片水印(不支持gif)

阅读(1065) 评论(0) 标签: PHP处理图片 图片加水印 php加水印

修改自ThinkPHP的图片类,支持裁剪、生成缩略图、添加文字水印以及添加图片水印(不支持gif) 1,文件 GhImage.class.php <?php /** * Created by PhpStorm. * Date: 2019/7/11/0011 * Time: 12:54 */ /** * 图片处理类,来自TP类 * GD lib * Class GhImage */ class GhImage{ /* 驱动相关常量定义 */ const IMAGE_GD ...

PHP编程使用HBuilder+mui集成支付宝app支付遇到的一些问题和处理办法

阅读(5503) 评论(0) 标签: HBuilder MUI html5+ 支付宝app支付回调 支付宝app支付集成

使用HBuilder+mui集成支付宝app支付遇到的一些问题和处理办法     最近在做一个app的项目,使用的是HBuilder+mui,使用了一段时间不得不说真的是很好用,而且开发也十分简单,虽然赶不上原生app但是开发速度快啊,哈哈,其中遇到集成支付宝app支付的问题,在官方看到的是如下的说明:     开发指导 支付流程如下: plus API使用步骤: 1. 调用plus.payment.getChannels()获取系统支持的支付通道; 2. 调用plus.payment.request()发起支付请求。 ...

PHP编程thinkPHP5图片加文字水印实现换行的方法

阅读(5004) 评论(0) 标签: Thinkphp tp5 thinkPHP5 thinkPHP水印 ThinkPHP文字水印换行

thinkPHP5图片加文字水印实现换行的方法 原有的添加文字的代码: Image::open(ROOT_PATH . "1.jpg") ->text("斯巴奴男装狐狸毛领中长款加厚asdasdsadasdasdasdasdasdasdasdsad白鸭绒","./template/common/fonts/yahei.ttf",20,"#000000",[5,5]) ->save(ROOT_PATH . "2.jpg",null,100); echo "<img src='/2.jpg'>"; 在原来的Image类的基础上使用...

PHP编程dedecms:/include/payment/alipay.php支付模块注入漏洞修复方案

阅读(1773) 评论(0) 标签: 织梦CMS dedecms 织梦支付宝注入漏洞

漏洞名称:dedecms支付模块注入漏洞 漏洞描述:DEDECMS支付插件存在SQL注入漏洞,此漏洞存在于/include/payment/alipay.php文件中,对输入参数$_GET['out_trade_no']未进行严格过滤。 解决方案: 大约在136行 /* 取得订单号 */ 补丁前:  $order_sn = trim($_GET['out_trade_no']);      补丁后: $order_sn = ...

PHP编程dede织梦实现签每日签到赠送积分或者金币

阅读(2644) 评论(0) 标签: 织梦CMS dedecms 织梦签到 dedecms签到送积分金币

dede织梦实现签每日签到赠送积分或者金币 织梦实现每日签到赠送积分或者金币主要分为如下的几步: 一、在需要签到的地方显示签到按钮或者链接例如: <a class="login" href="javascript:;" id="_sign_btn" style="border: 0;color: #666;"><i class="fa fa-check-square"></i> 签到</a> 二、为签到按钮或者链接编写异步脚本: $(function () { $('#_sign_btn').click(fu...

PHP编程织梦导航菜单判断是否有子栏目,有则显示否则隐藏(解决下拉样式多余问题)

阅读(2407) 评论(0) 标签: 织梦CMS dedecms zhimeng 织梦导航菜单 织梦二级栏目调用

我们在使用织梦cms调用二级菜单的时候,会遇到这样的问题,如果有子栏目,就显示二级菜单,如果没有就不显示,下面给出代码: {dede:channelartlist row=8 typeid='1,2,3,4,5'} <li class="tab dropdown"> <a href="{dede:field.typeurl/}" class="tablink arwlink" title="{dede:field.typename/}">{dede:field.typename/}</a> {dede:field...

PHP编程dedecms错误:Call to a member function GetInnerText() on a non-object解决方法

阅读(1118) 评论(0) 标签: dedecms dedecms自定义图片字段 GetInnerText

在dedems生成列表时,如果有图片的自定义字段就可能出现 Call to a member function GetInnerText() on a non-object的错误,如何解决呢?很简单: 打开\include\taglib\channel\img.lib.php 搜索$innerTmp = $arcTag->GetInnerText(); 我的是5.7sp1,在文件的第51行,更改为 $innerTmp = ($arcTag=="") ? trim($arcTag) : trim($arcTag->GetInnerText()); ...

PHP编程转:PHP实现笛卡尔积

阅读(1096) 评论(0) 标签: php 笛卡尔积 笛卡尔 php笛卡尔积 笛卡尔直积

1 概念 在数学中,两个集合X和Y的笛卡儿积(Cartesian product),又称直积,表示为X × Y。设A、B是任意两个集合,在集合A中任意取一个元素x,在集合B中任意取一个元素y,组成一个有序对(x,y),把这样的有序对作为新的元素,他们的全体组成的集合称为集合A和集合B的直积,记为A×B,即A×B={(x,y)|x∈A且y∈B}。 假设集合A={a, b},集合B={0, 1, 2},则两个集合的笛卡尔积为{(a, 0), (a, 1), (a, 2), (b, 0), (b, 1), (b, 2)}。 2 举例 ...

PHP编程PHP foreach原理详解

阅读(982) 评论(0) 标签: php foreach

PHP foreach原理详解 一、foreach简介 1.foreach的遍历顺序 如果是索引数组,你会发现遍历出来的顺序并不是按索引大小遍历,而是按添加的顺序,如果按照索引大小遍历,应该使用for,而不是foreach $arr[2]='中'; $arr[1]='国'; foreach($arr as $value){ echo $value; } 结果:中国 所以foreach遍历数组的顺序是由元素的添加顺序决定的,不管是索引数组还是关联数组 2. 当 foreach 开始执行时,数组内部的指针会自动指向第一个单元。这意味着不需要在 foreach 循环之前调用 ...

PHP编程DEDE织梦如何做中英文多语言站

阅读(2182) 评论(0) 标签: 织梦CMS dedecms 织梦

说道中英文站,是很多用户想用dedecms织梦程序做多语言站,下面秀站网分享下做中英文多语言版本的站点如何操作,希望能帮助到大家。 一、首先在后台建栏目,有三点需要注意 1.需要做几种语言就加几个大的栏目。 2.栏目“常规选项”的文件保存目录设置为cn或者en 3.栏目“高级选项”的列表设置为cn_index.htm或者en_index.htm,模板文件都放在一个文件夹里面。 二、网站代码的调用 标签和单个独立站点类似,需要自己先尝试下就明白哪里需要注意下的。比如:当前位置就不能用{ded...
1 2 3