置顶文章
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} !-...
php正则验证18位二代身份证号码的方法
function ckId($value){ $city = [11 => "北京", 12 => "天津", 13 => "河北", 14 => "山西", 15 => "内蒙古", 21 => "辽宁", 22 => "吉林", 23 => "黑龙江 ", 31 => "上海", 32 => "江苏", 33 => "浙江", 34 => "安徽", 35 => "福建", 36 => "江西", 37 => "山...
PHP编程
PHP编程学习
PhpSpreadsheet是一个用纯 PHP 来实现读取、写入电子表格文件(xls\xlsx等)的PHP库。
之前的时候使用的是PHPExcel,但是PHPExcel太故老,原更新已经放弃,取而代之的是升级版本PhpSpreadsheet。
最新的PHPSpreadSheet功能强大,而且简单易用。至于教程网上也是多的很,不必多说,自行百度即可。
最近在使用phpSpreadsheet实现导出XLSX时,直接生成文件保存到服务器硬盘上是没有问题的。但若是输出到浏览器时,下载到本地电脑的时候,用户保存后打开会提示“打开文件时遇到错误”。搜索了很多说明发现直接保存到硬盘的文件比...
PHP编程tp5+mysql任务发布兼职推广平台源码公众号版独立后台可二开
PHP编程tp5定时任务命令行报错 [InvalidArgumentException] Command "date" is not defined.
PHP编程unserialize(): Error at offset出现的原因分析以及解决方法
PHP编程PHP判断键值数组是否存在,使用empty或isset或array_key_exists
本文目的
前几天工作中,需要频繁判断数组中的键值对是否存在,起初使用的”!empty($arr[‘key’])”来判断,觉得这样读起来比较舒服,但是写出的代码无法通过单元测试(单元测试太好了)。排查很久,终于发现,当$arr[‘key’] == 0时,empty仍然返回true,这样破坏了业务逻辑!
今天终于有空,就将判断数组键值对存在的方法查阅了一下,记录于此,作为备忘。
一个例子
猜猜看,下面的例子会输出什么?
<?php
$a = array('a'=>1, 'b'=>0...
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...
PHP编程php中JSON的标准:双引号而非单引号
刚刚测试发现一段很简单的、看似正确的代码却是错误的:
$json_str = "{'name':'Eric','age':23}" ;
var_dump(json_decode( $json_str ));
...
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...
PHP编程ecshop添加自定义lbi文件
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编程【转载】将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 中的...
PHP编程ThinkPHP5垮模块调用控制器使用controller的方法
PHP编程TP5 如何接收表单多选框(type="checkbox")
今天倒蹬东西的时候,试着用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安装指定版本
版本符号说明
#最新版
*
# 大于等于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给字符串加星号‘*’的方法,例如给手机号、身份证等加星号
PHP编程修改自ThinkPHP的图片类,支持裁剪、生成缩略图、添加文字水印以及添加图片水印(不支持gif)
修改自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支付遇到的一些问题和处理办法
PHP编程thinkPHP5图片加文字水印实现换行的方法
PHP编程dedecms:/include/payment/alipay.php支付模块注入漏洞修复方案
漏洞名称:dedecms支付模块注入漏洞
漏洞描述:DEDECMS支付插件存在SQL注入漏洞,此漏洞存在于/include/payment/alipay.php文件中,对输入参数$_GET['out_trade_no']未进行严格过滤。
解决方案:
大约在136行 /* 取得订单号 */
补丁前:
$order_sn = trim($_GET['out_trade_no']);
补丁后:
$order_sn = ...
PHP编程dede织梦实现签每日签到赠送积分或者金币
PHP编程织梦导航菜单判断是否有子栏目,有则显示否则隐藏(解决下拉样式多余问题)
我们在使用织梦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解决方法
在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());
...