php
appleคิดถึง
在学习,在分享,在路上
展开
-
php将数字转为中文汉字
php 数字金额转汉字原创 2024-07-25 14:13:14 · 239 阅读 · 0 评论 -
php 获取行政区域
php利用高德API获取四级行政区域原创 2024-04-09 09:11:46 · 505 阅读 · 0 评论 -
php根据用户地址获取经纬度
php根据用户地址获取经纬度。原创 2024-04-09 09:01:17 · 465 阅读 · 0 评论 -
PHP拷贝文及目录
记录:PHP 拷贝本地文件目录 // 拷贝目录 function copyDir($dirSrc,$dirTo){ if(is_file($dirTo)){ echo "目标不是目录不能创建"; return ; } if(!file_exists($dirTo)){ mkdir($dirTo); }原创 2022-03-26 09:03:34 · 650 阅读 · 0 评论 -
php 获取‘,’分隔的字段值数据
记录:TP 获取‘,’分隔的字段值数据的查询方法使用mysql字符串函数find_in_set(),代码示例: /** * 商品评价列表 */ public function getGoodCommentList() { try { $validate = new Validate([ 'goods_id' => 'require|integer|min:1',原创 2021-11-11 18:12:23 · 874 阅读 · 0 评论 -
根据用户当前定位经纬度获取附近的店铺
记录:TP5 根据用户当前定位经纬度获取附近的店铺代码示例: /** * 门店列表 */ public function index() { try { $validate = new Validate([ 'keyword' => 'max:25', // 搜索词长度不能超过25个字符 'page' => 'integer|min:1',原创 2021-09-15 17:50:32 · 742 阅读 · 0 评论 -
微信公众号授权登录配置
记录:微信公众号授权登录配置一、在微信开放平台上面绑定微信公众号,因为若开发者有多个移动应用、网站应用、和公众帐号(包括小程序),绑定在微信开放平台,他们的unionid唯一性的。图示:二、登录微信公众平台(mp.qq.weixin.com)1,左侧导航找到【开发】-》【接口权限】在右侧权限列表中找到【网页授权】,点击最右按钮【修改】设置【网页授权域名】,点击设置之后需要下载一个文件上传到该域名的根目录下。页面上还有两个参数【业务域名】和【JS接口安全域名】,前者是用户在该域名上进行输原创 2021-07-08 15:14:05 · 3233 阅读 · 2 评论 -
php手机号和固话正则验证
验证器验证: protected $rule = [ 'delivery_people|发货人' => 'require', 'delivery_tel|发货人电话' => ['require','regex'=>'/(^([0-9]{3,4}-)?[0-9]{7,8}$)|(^1[3456789]\d{9}$)/'], //固话或手机号 'delivery_address|发货地址' => 'require', ];正则原创 2021-01-11 17:32:45 · 591 阅读 · 0 评论 -
HTTP常见状态码
记录:整理图示:原创 2020-07-15 10:24:13 · 255 阅读 · 1 评论 -
tp5.1模型的搜索器
记录:文档定义:搜索器的作用是用于封装字段(或者搜索标识)的查询条件表达式,一个搜索器对应一个特殊的方法(该方法必须是public类型)。方法命名规范为:searchFieldNameAttr:FieldName为数据表字段的驼峰转换 搜索器仅在调用withSearch方法的时候触发。 若传入的查询字段未定义对应的搜索器,则自动过滤掉此字段的查询示例:1,模型中定义搜索器,username字段和create_time字段<?phpnamespace app\common原创 2020-07-08 16:02:56 · 706 阅读 · 0 评论 -
常用算法解析
记录一下:1,冒泡排序:原理:相邻的两个数一一比较,大的数上浮,若按从小到大排列的话,大的数向右移动,小的数向左移动,n个数,需要经过n-1轮循环,每一轮循环,需要进行n-i(i代表第i轮循环)次调换,最后可把一列数顺序排列。我个人理解的原理:将其转为数组后,依次循环数组中的元素,分别与数组后面的元素进行比较,小数左移,大数右移到原小数的位置。 public function maopao(){ $arr = [4,30,5,3,99,78,100,12,78,3];原创 2020-07-03 15:38:19 · 394 阅读 · 0 评论 -
crmeb安装报错: 请在mysql配置文件修sql-mode或sql_mode为NO_AUTO_CREATE_USER
记录:crmeb安装时报错,图示:打开phpstudy,选择mysql数据模式,勾选NO_AUTO_CREATE_USER、NO_ENGINE_SUBSTITUTION即可:原创 2020-06-28 12:01:38 · 1342 阅读 · 0 评论 -
PHP 获取客户端IP
记录://获取客户端IPfunction _getIp() { if(getenv( "HTTP_X_REAL_IP")){ $ip = getenv( "HTTP_X_REAL_IP"); }else{ if (getenv("HTTP_CLIENT_IP") && strcasecmp(getenv("HTTP_CLIENT_IP"), "unknown")) { $ip = getenv("HTTP_CLIENT_IP"); } else {原创 2020-05-12 10:46:22 · 221 阅读 · 0 评论 -
php 字符串相关函数
记录:1,生成包含数字,大写字母,小写字母的6-20随机字符串//生成包含数字,大写字母,小写字母的6-20随机字符串function rand_str(){ $length = rand(6,20); $str = array_merge(range(0,9),range('a','z'),range('A','Z')); shuffle($str); $str = implode('',array_slice($str,0,$length)); ret原创 2020-05-12 10:34:39 · 249 阅读 · 0 评论 -
PHP 优惠码记录
生成:<?phpnamespace app\common\logic;// 优惠券逻辑class Coupon extends Base { //添加 public function addCoupon($data) { $jiaoyanRes = $this->jiaoyan($data); if($jiaoyanRes[...原创 2020-04-29 11:43:37 · 306 阅读 · 0 评论 -
php 封装字符串替换函数
项目中常常出现字符串替换情况,现封装成一个方法,可替换多个特殊字符,做下记录,方便日后提取//字符串替换(可替换1-2个特殊字符)function get_replace($str,$replaceArr1,$replaceArr2=null){ if(!$str){ return; } $str1 = $str; if($replace...原创 2020-04-29 11:34:21 · 252 阅读 · 0 评论 -
时间处理函数总结
时间处理函数总结时间处理函数总结下面展示一些 内联代码片。/** * 获得当前格林威治时间的时间戳 * @return integer */function gmtime(){ return (time());} ...原创 2020-03-18 13:37:17 · 311 阅读 · 0 评论 -
数组转对象
记录一下,数组转对象:/** * 数组转对象 * @param $e * @author xietaotao * @return object|void */function arrayToObject($e){ if (gettype($e) != 'array') { return; } foreach ($e as $k => ...原创 2020-03-18 11:49:05 · 204 阅读 · 0 评论 -
XML转数组
记录一下,xml转数组:/** * xml转数组 * @param $xml * 如果转换失败返回false * @return array|bool */function xml2array($xml){ $xml_parser = xml_parser_create(); if (!xml_parse($xml_parser, $xml, true)) { ...原创 2020-03-18 11:46:51 · 278 阅读 · 0 评论 -
PHP 将图片拷贝到新目录,重命名操作
1,将图片拷贝到新目录,使用copy函数:格式:copy(source,destination)将文件从 source 拷贝到 destination。如果成功则返回 TRUE,否则返回 FALSE。示例://复制图片到新目录$name = 123.png$file = HEADXITONG_PATH.$name;//注意HEADXITONG_PATH是从根目录/开始$newFi...原创 2020-03-10 15:50:05 · 1015 阅读 · 0 评论 -
whmcs系统集成yedpay支付
记录一下:whmcs系统集成yedpay支付,代码已上传至码云:https://gitee.com/phpsoftzn/yedpay_whmcs(https://gitee.com/phpsoftzn/yedpay_whmcs.git)原创 2020-01-04 11:51:10 · 1215 阅读 · 0 评论 -
解决filter_var(): explicit use of FILTER_FLAG_SCHEME_REQUIRED is deprecate问题
记录一下:场景:邮箱发送验证码类在php7.3+环境中报错:filter_var(): explicit use of FILTER_FLAG_SCHEME_REQUIRED and FILTER_FLAG_HOST_REQUIRED is deprecated原因:查资料得知,php7.3+弃用了FILTER_FLAG_SCHEME_REQUIRED函数解决方式:PHPMai...原创 2020-01-03 09:41:02 · 1971 阅读 · 0 评论 -
php use引入文件后报错
记录一下:问题:原生php use引入文件后报错,提示没找到这个文件。原因:原生php没有文件自动引入机制,所以,使用前需要require引入文件,再用use引入命名空间文件,再使用就可以了。...原创 2019-12-27 11:20:36 · 1064 阅读 · 0 评论 -
常用正则表达式
常用正则表达式:"^\d+$" //非负整数(正整数 + 0)"^[0-9]*[1-9][0-9]*$" //正整数"^((-\d+)|(0+))$" //非正整数(负整数 + 0)"^-[0-9]*[1-9][0-9]*$" //负整数"^-?\d+$" //整数"^\d+(\.\d+)?$" //非负浮点数(正浮点数 + 0)"^(([0-9]+\.[...转载 2019-12-18 14:45:20 · 202 阅读 · 0 评论 -
tp5灵活拼接使用where查询条件
常用的tp5多条件查询拼接1,Where 条件表达式格式为:$map['字段名'] = array('表达式', '操作条件');2,以查询user表为例$User = model("User"); // 实例化User对象方法1:$User->where('type=1 AND status=1')->select(); 方法2:$User......原创 2019-02-16 15:24:40 · 5447 阅读 · 2 评论 -
PHP实现的防止跨站和xss攻击代码
文档说明:1.将waf.php传到要包含的文件的目录2.在页面中加入防护,有两种做法,根据情况二选一即可:a).在所需要防护的页面加入代码require_once('waf.php');就可以做到页面防注入、跨站如果想整站防注,就在网站的一个公用文件中,如数据库链接文件config.inc.php中!添加require_once('waf.php');来调用本代码...转载 2018-12-26 09:19:59 · 793 阅读 · 1 评论 -
Redis实现分布式锁与任务队列的思路
一, 实现思路1.Redis实现分布式锁思路思路很简单,主要用到的redis函数是setnx(),这个应该是实现分布式锁最主要的函数。首先是将某一任务标识名(这里用Lock:order作为标识名的例子)作为键存到redis里,并为其设个过期时间,如果是还有Lock:order请求过来,先是通过setnx()看看是否能将Lock:order插入到redis里,可以的话就返回true,不可以就...转载 2018-12-24 19:02:29 · 322 阅读 · 0 评论 -
PHP 纯真IP数据库查询IP地址信息
先下载一个纯真IP数据库, 安装完整后,将qqwry.dat即IP数据库放在项目拓展位置,例:调用://use net\IpLocation;include 'IpLocation.php';$ip = '219.152.56.66';$ipadress = new IpLocation();//引入IP地址查询类 $location = $ipadress->ge...原创 2018-12-15 16:58:51 · 956 阅读 · 1 评论 -
PHP环境变量: HTTP_USER_AGENT
今天小编分析一下PHP环境变量: HTTP_USER_AGENT, 它标识用户的浏览器和操作系统。$u_agent = $_SERVER['HTTP_USER_AGENT'];//标识用户的浏览器和操作系统$bname = 'Unknown';$platform = 'Unknown';$version = "";if (preg_match('/linux/i', $u_age...原创 2018-12-15 15:43:19 · 587 阅读 · 0 评论 -
php 写txt文件
写txt文件,代码示例://接收数据入文件$year = date('Y');$month = date('m');$day = date('d');$time = date('H:i:s');$route = dirname(dirname(dirname(__FILE__))); $path = "$route\\txt\\$year\\$month";$uri = $_S...原创 2018-12-15 11:54:56 · 803 阅读 · 0 评论 -
购物车的数据是否应该保存在数据库中?
目前我们使用购物车的存储方式主要有:Session方式,Cookie方式,数据库存储,我们来一一分析优缺点。 1.Session(Memcached)方式优点:购物车信息保存在服务端,可以保存1M 信息。缺点:对于大型网站会占有过多的服务器内存资源,造成服务器压力过大。Session保存的信息会在用户退出登录后丢失。用户下次登录,购物车中商品信息丢失,用户只能从新选择。 2....转载 2018-12-06 09:03:12 · 680 阅读 · 0 评论 -
php://input 剖析
php://input在PHP手册上面是这样讲解的: php://input 是个可以访问请求的原始数据的只读流。 POST 请求的情况下,最好使用 php://input 来代替 $HTTP_RAW_POST_DATA,因为它不依赖于特定的 php.ini 指令。 而且,这样的情况下 $HTTP_RAW_POST_DATA 默认没有填充, 比激活 always_populate_raw_po...转载 2018-12-01 18:48:55 · 1892 阅读 · 0 评论 -
PHP 获取当天凌晨时间戳
总结几种PHP 获取当天凌晨时间戳方法:首先设置时区:header("Content-type:text/html;charset=utf-8"); //设置北京时间为默认时区date_default_timezone_set('PRC');方法一://当天的起始时间戳 $beginToday = mktime(0,0,0,date('m'),date('d'),da...原创 2018-12-05 09:26:17 · 9789 阅读 · 2 评论 -
大整数相加?
今天我们来说一道算法题: 给你两个很大很大的整数(例如一百位的整数),如何求出他们的和?我们先简单回忆一下小学时,老师教给我们在计算比较大的数字间的加减乘除时,应用列竖式的方式,列如这种方式: 这样就把这个复杂的步骤拆分为一个一个的小步骤,所以计算机同理,它在很短的时间内叶不容易计算出这样复杂的数据计算,也需要拆分。对于怎样存储这样大的整数?有一种办法,用数组存储即可,数组的每一个元素...转载 2018-12-02 16:55:46 · 362 阅读 · 0 评论 -
PHP跳出循环的方法以及continue、break、exit的区别
PHP中常用的循环结构大致有四种:for循环,while循环,do{} while 循环及foreach循环,在循环中,常用的跳出循环的方式有四种:方式一:continuecontinue 能控制程序放弃本次循环,继续进行下一次循环。continue本身并不跳出循环结构,只是放弃这一次循环。如果在非循环结构中(例如if语句中,switch语句中)使用continue,程序将会出错。fo...原创 2019-02-20 17:03:14 · 645 阅读 · 0 评论 -
tp5 配置mongodb
若使用的mongodb数据库不是admin权限(即添加的用户)时, 会连接失败, 权限不足, 需更改tp5拓展文件文件位置:\vendor\topthink\think-mongo\src\Connection.php 152行在这段代码的最后加上 ."/".$this->dbName;//更改前$host = 'mongodb://' . ($config['use...原创 2019-06-13 14:52:36 · 948 阅读 · 0 评论 -
php 常用的对文件操作
最近整理了php常用的对文件的操作<?php$file = "./test/f1.php";//======判断文件存不存在if (file_exists($file) == false) { echo "<br/>"; die('no file');}//=====判断文件能不能读取(权限问题),或者存不存在if (is_readable($file...原创 2019-06-14 12:00:29 · 266 阅读 · 0 评论 -
php 索引数组的值去重
/** * 给索引数组的值去重 * @param $arr 索引数组 * @return array 被去掉的值 */ public function removeRepeat(&$arr){ $removeArr = []; $len = 0; foreach ($arr as $k...原创 2019-09-17 17:17:12 · 220 阅读 · 0 评论 -
php 设置excel样式
记录常用的excel样式设置:<?php/*——————————————————————————————————————–设置excel的属性:创建人*/$objPHPExcel->getProperties()->setCreator('Maarten Balliauw');//最后修改人$objPHPExcel->getProperties()->...原创 2019-09-17 16:09:37 · 814 阅读 · 0 评论 -
php 获取上个月(指定月)的第一天与最后一天
获取上个月的第一天$monthbeg = mktime(0,0,0,date('m')-1,1,date('Y')); //上月第一天$monthbeg = strtotime(date('Y-m-01', strtotime('-1 month'))); //上月第一天获取上个月的最后一天$monthend = strtotime(date('Y-m-t 23:59...原创 2019-08-17 09:11:24 · 1903 阅读 · 0 评论