置顶文章 Thinkphp5通过重写实现隐藏index.php [ Apache ]
httpd.conf配置文件中加载了mod_rewrite.so模块
AllowOverride None 将None改为 All
把下面的内容保存为.htaccess文件放到应用入口文件的同级目录下
<IfModule mod_rewrite.c> Options +FollowSymlinks -Multiviews RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-...
微信公众号curl: (60) SSL certificate problem: unable to get local issuer certificate 错误 请求接口返回如下错误SSL certificate problem: unable to get local issuer certificate。
此问题的出现是由于没有配置信任的服务器HTTPS验证。默认,cURL被设为不信任任何CAs,就是说,它不信任任何服务器验证。因此,这就是浏览器无法通过HTTPs访问你服务器的原因。
解决此报错有2种处理方法
1.如果你的内容不敏感,一个快捷的方法是使用curl_exec()之前跳过ssl检查项。
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, ...
二、又一篇thinkphp5+easywechat支付的文字:微信公众号内支付 前几天写了一下使用tp5和easywechat集成微信扫码支付的方法(可以点这里查看),里面已经说过咱们安装easywechat了,这里就不在重复说明了,直接写集成的步骤了:
1,相关的配置请参考之前的第一篇文字
2,页面样子如下:
页面代码就不贴了,就只是写了下按钮的代码如下:
<a href="{:url('mobile/recharge/pay',['amount'=>1])}" type="...
php正则验证18位二代身份证号码的方法 function ckId($value){
$city = [11 => "北京", 12 => "天津", 13 => "河北", 14 => "山西",
15 => "内蒙古", 21 => "辽宁", 22 => "吉林", 23 => "黑龙江 ", 31 => "上海",
32 => "江苏", 33 => "浙江", 34 => "安徽", 35 => "福建", 36 => "江西",
37 => "山...
4周前 (03-25)
阅读(113)
评论(0)
标签: phpSpreadsheet php导出excel
PhpSpreadsheet是一个用纯 PHP 来实现读取、写入电子表格文件(xls\xlsx等)的PHP库。
之前的时候使用的是PHPExcel,但是PHPExcel太故老,原更新已经放弃,取而代之的是升级版本PhpSpreadsheet。
最新的PHPSpreadSheet功能强大,而且简单易用。至于教程网上也是多的很,不必多说,自行百度即可。
最近在使用phpSpreadsheet实现导出XLSX时,直接生成文件保存到服务器硬盘上是没有问题的。但若是输出到浏览器时,下载到本地电脑的时候,用户保存后打开会提示“打开文件时遇到错误”。搜索了很多说明发现直接保存到硬盘的文件比...
2个月前 (02-11)
阅读(193)
评论(0)
标签: tp5 thinkPHP5 任务发布平台源码 兼职任务源码 PHP源码下载
1、标价只是源码价格,不包含技术服务和安装服务,如果对PHP&MySQL技术不太了解请不要拍
2、源码包含程序源码和数据库文件
3、程序是开源的可以进行二次开发
4、程序原版是不带在线支付等相关功能的,这是修改版,支持公众号(服务号)关联,支持任务发布者之间使用微信支付(微信支付请自行申请)
5、程序支持阿里短信接口,主要是用于用户后几号的绑定,阿里短信接口请自行到阿里云申请购买,配置简单
6、后期更新会增加微信模板消息通知等(购买的用户可以提供更新文件)
7、其他没有说明的部分以客服的实际说明为准
...
3个月前 (01-25)
阅读(319)
评论(0)
标签: Thinkphp tp5 ThinkPHP5命令行 tp5定时任务
最近使用tp5的命令行搭配linux的定会任务做资金的延时到账,发现一个问题就是,写好之后报错,如图:
实话实说,很奇怪,查看了官方的示例,也结合了一些其他的说明,确定是没有写错,在网上搜索了很久,得出的结论大多是名称不对,例如
然后再三确认之后,发现没有任何错误,突然间查看了自己的目录结构,发现默认的配置文件目录被我更改到其他位置,但是command.php并没有一起转移到对应的配置目录,所以一直没法获取配置,直接剪切到配置目录之后,运行就成功了,还是有些狗血,,,
因为之前没有用到这部分,所以忽略了,一般都是用什么关注什么,,,看来还是要多学习
3个月前 (01-19)
阅读(395)
评论(0)
标签: layer layui layui弹出层嵌套 layer弹出层嵌套
当打开了一个layer.open()之后,如果在open的页面上面还有一个layer.open()去再次打开一个弹出层,这时候第二个打开的弹出层是在最早打开的基础上,然后镶嵌在里面的。
如果第一个弹出层很大,而第二个弹出层比较小,可能不会太影响用户体验;但是如果第一个弹出层很小,而第二个弹出层却很大,这时候效果就很不理想了。
想要这个第二个弹出层不嵌套在第一个弹出层中,通常的办法是使用window.top对象。
top.layer.open()
像这样就能在顶级页面(最底层)打开弹出层,遮罩也是完全覆盖了底层页面。
3个月前 (01-07)
阅读(293)
评论(0)
标签: php phpunserialize Erroratoffset
在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...
3个月前 (01-06)
阅读(257)
评论(0)
标签: PHP数组 php判断键值 php数组键值
本文目的
前几天工作中,需要频繁判断数组中的键值对是否存在,起初使用的”!empty($arr[‘key’])”来判断,觉得这样读起来比较舒服,但是写出的代码无法通过单元测试(单元测试太好了)。排查很久,终于发现,当$arr[‘key’] == 0时,empty仍然返回true,这样破坏了业务逻辑!
今天终于有空,就将判断数组键值对存在的方法查阅了一下,记录于此,作为备忘。
一个例子
猜猜看,下面的例子会输出什么?
<?php
$a = array('a'=>1, 'b'=>0...
4个月前 (12-24)
阅读(472)
评论(2)
标签: php php数字单位转换
/**
* 格式化数字
*/
public function float_number($number){
$length = strlen($number); //数字长度
if($length > 8){ //亿单位
$str = substr_replace(strstr($number,substr($number,-7),' '),'.',-1,0)."亿";
}elseif($length >4){ //万单位
//截取前俩为
$str = substr_replace(st...
4个月前 (12-10)
阅读(351)
评论(1)
标签: php json标准 json_decode json_encode json单引号双引号问题
刚刚测试发现一段很简单的、看似正确的代码却是错误的:
$json_str = "{'name':'Eric','age':23}" ;
var_dump(json_decode( $json_str ));
...
6个月前 (10-31)
阅读(506)
评论(2)
标签: php php替换字符 php替换多个字符
php替换多个字符串str_replace函数
echo str_replace(array("m","i"),array("n","z"),"my name is jim!")
echo str_replace(array('m','i'),'n',"my name is jim!");
<?php
$vowels = array("a", "e", "i", "o", "u", "A", "E", "I", "O", "U");
$onlyconsonants = str_replace($vowels, "","Hello World of PHP");
e...
7个月前 (09-24)
阅读(2662)
评论(0)
标签: vue vue动态添加stype样式
注意:
凡是有-的style属性名都要变成驼峰式,比如font-size要变成fontSize
除了绑定值,其他的属性名的值要用引号括起来,比如backgroundColor:'#00a2ff'而不是 backgroundColor:#00a2ff
【对象】
html :style="{ color: activeColor, fontSize: fontSize + 'px' }"
html :style="{color:(index=...
10个月前 (07-08)
阅读(646)
评论(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
1年前 (2020-04-20)
阅读(948)
评论(0)
标签: php PHP数组 php键值 php数组操作
例如如下操作如实实现:
$arr = array('key1'=>'value1','key2'=>'value2','key3'=>'value3')
有什么办法将它转成
$arr = array('value1','value2','value3')就是没有要键名了
解决方案如下:
$arr = array('key1'=>'value1','key2'=>'value2','key3'=>'value3');
$arr2 = array_values($arr);
print_r($arr2);
php 中的...
1年前 (2020-04-17)
阅读(1009)
评论(0)
标签: OpenSSL pkcs8 pkcs1
用途:
pkcs8格式的私钥转换工具。它处理在PKCS#8格式中的私钥文件。它可以用多样的PKCS#5 (v1.5 and v2.0)和 PKCS#12算法来处理没有解密的PKCS#8 PrivateKeyInfo格式和EncryptedPrivateKeyInfo格式。
用法:
openssl pkcs8 [-inform PEM|DER] [-outform PEM|DER] [-in filename] [-passin arg] [-out filename]
[-passout arg] [-topk8] [-noiter] [-nocry...
1年前 (2020-04-17)
阅读(1777)
评论(0)
标签: 微信支付 easywechat RSA密钥 PKCS#1转PKCS#8 微信企业付款到银行卡
微信企业付款到银行卡,这个是微信支付商户的一个功能,开通条件或者什么介绍可以到官方文档查看,开通步骤还有下载API证书下载这些,可以自行处理,也比较简单,这里从获取RSA加密公钥开始:
一、获取RSA加密公钥:
调用获取RSA公钥API获取RSA公钥,落地成本地文件,假设为public.pem,确定public.pem文件的存放路径,同时修改代码中文件的输入路径,加载RSA公钥,用标准的RSA加密库对敏感信息进行加密,选择RSA_PKCS1_OAEP_PADDING填充模式, 得到进行rsa加密并转base64之后的密文,将密文传给微信侧相...
1年前 (2020-04-09)
阅读(2415)
评论(0)
微信提供了php的demo代码,遗憾的是其中wx.config中的jsApiList:为空,因此经常有人直接调试的时候就出现下面错误提示:
errmsg config param is empty
解决方法就是设置这个属性的值就是了,
如:
jsApiList: [
// 所有要调用的 API 都要加到这个列表中
'onMenuShareTimeline',
'onMenuShareAppMessage'
]
更多的接口如下:
附录2-所有JS接口列表
接口
说明
openEn...
1年前 (2020-01-18)
阅读(918)
评论(0)
标签: weui weui.js weui组件使用
以下是代码的简单实例,有需要可以自己研究使用,其实蛮简单的:
/* dialog */
document.querySelector('#alertBtn').addEventListener('click', function () {
_weui2.default.alert('自定义标题的alert', function () {
console.log('ok');
}, {
title: '自定义标题'
});
});
/* ...
1年前 (2019-11-11)
阅读(2344)
评论(0)
标签: tp5 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=''){
...
2年前 (2019-10-17)
阅读(1773)
评论(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...
2年前 (2019-09-15)
阅读(2555)
评论(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...