- 博客(234)
- 资源 (1)
- 收藏
- 关注
原创 php获取“今日\昨日\上周\本周\本月\近一月\近三月”的起始时间戳和结束时间戳
php获取时间范围 0自定义 1今天 2昨天 3本周 4上周 5近一周 6本月 7上月 8近一月 9近三月 10今年 11近一年
2023-06-09 15:40:20
1
原创 记录一下大文件上传偶然成功偶然失败问题
项目情况:网站使用微软云服务器、负载均衡(多机运行)、微软云oss前端使用的是webuploader上传插件,该插件只有当文件上传成功之后,才能点击确认按钮。遇到的奇葩情况(webuploader分片上传):1、上传小文件,显示上传成功,点击确认按钮正常2、大一些的文件,显示成功,有时能点击确认按钮正常,有时点击按钮没反应后来找到的原因是:负载均衡分发 + 分片上传 导致偶然成功偶然失败,把负载均衡变为单机运行就没问题,或者把分片上传关闭也没问题解决方案:1:更改负载均衡规则,不要自动分配,改为
2022-06-27 10:39:48
226
原创 php 上传大文件 超过40秒 服务器500
不说太多费话1、先找当前PHP版本的配置文件php.ini修改以下文件上传限制参数:max_execution_time = 600max_input_time = 600memory_limit = 1024Mpost_max_size = 1024Mupload_max_filesize = 1024M参数解释:max_execution_time:php超时设置max_input_time:脚本解析输入数据(类似 POST 和 GET)允许的最
2022-05-30 16:23:44
582
原创 删除编辑器内容中上传的图片
function remove_content_img($content){ //匹配并删除图片 $imgreg = "/<img.*src=\"([^\"]+)\"/U"; $matches = array(); preg_match_all($imgreg, $content, $matches); foreach($matches[1] as $img_url){ if(strpos($img_url, 'emoticons')===f
2022-04-12 09:16:34
269
1
原创 判断是否手机端访问
function isMobile(){ // 如果有HTTP_X_WAP_PROFILE则一定是移动设备 if (isset ($_SERVER['HTTP_X_WAP_PROFILE'])) return true; //此条摘自TPM智能切换模板引擎,适合TPM开发 if(isset ($_SERVER['HTTP_CLIENT']) &&'PhoneClient'==$_SERVER['HTTP_CLIENT']) return
2022-04-06 14:58:15
323
原创 简单接口验签
后端代码以下代码放在接口公共文件中$apiAuth = new ApiAuth();$signResult = $apiAuth->verifySign();if (!$signResult['code']) { $this->error($signResult['msg']);}ApiAuth类文件<?phpclass ApiAuth{ public function __construct(){ $this->params
2022-04-02 14:39:33
705
原创 百度api根据地址获取经纬度
function getLatLng($address){ $geocode=file_get_contents('http://api.map.baidu.com/geocoder/v2/?address='.$address.'&output=json&ak=填写应用ak'); $output= json_decode($geocode,true); $lat = $output['result']['location']['lat']; $lng = $
2022-04-01 17:23:38
801
原创 跨站请求伪造CSRF防御
CSRF防御逻辑流程:用户访问某个表单页面。服务端生成一个Token,放在用户的Session中,或者浏览器的Cookie中。(我放在缓存中)在页面表单附带上Token参数。用户提交请求后,服务端验证表单中的Token是否与用户Session(或Cookies)中的Token一致,一致为合法请求,不是则非法请求。以下是代码参考公共函数:/** * 跨站请求伪造CSRF防御(表单提交使用,单页面多表单请使用 控制器/接口 传值共同使用) * * @return string * *
2022-03-16 16:48:11
149
原创 PHP 阿里云发送短信
<?phperror_reporting(0);require_once ('SignatureHelper.php');header("Content-type:text/html; charset=UTF-8");/** * 发送短信 * mobile 手机号码 * TemplateParam 参数数组 * TemplateCode 模版CODE */function sendSMS_aliyun($mobile, $TemplateParam = array(),$
2022-03-08 15:43:44
1253
原创 文件大小 字节单位转换成KB,MB,GB,TB等单位
/** * 字节单位转换成KB,MB,GB,TB等单位 * * @param $file_size * * @return string * * @author qinglin */function byteSize($file_size){ $file_size = $file_size - 1; if ($file_size >= 1099511627776) $show_filesize = number_format(($file_size / 109951
2022-02-24 17:22:29
2381
原创 PHP 递归创建多级目录
$dir = ROOT_PATH . 'upload/images/20220224/1.jpg';createDir($dir);// 如果upload目录中,没有images目录和日期目录,则都会自动创建function createDir($dir) { return is_dir($dir) or (createDir(dirname($dir)) and mkdir($dir, 0777));}...
2022-02-24 13:41:40
243
原创 Google网站管理员工具地址
Google网站管理员工具地址:http://www.google.com/webmasters/tools/?hl=zh_CN
2022-02-22 14:31:22
227
原创 oss自定义域名突然失效问题
记录一下问题oss绑定自定义域名,由于域名过期或备案有问题下架了,等处理好之后oss就显示异常了解决方法是:先解绑自定义域名,重新绑定就可以了
2022-01-17 17:07:54
1692
原创 js输出参数转为实体html
var title = '标题<script>alert(1)</script>';$('.title').html(title);// 这样会被弹窗// 经过以下处理一下var title = title.replace(/[<>&"]/g,function(c){return {'<':'<','>':'>','&':'&','"':'"'}[c];});// 用正则表达
2022-01-14 09:51:40
287
原创 phpstudy配置局域网使用ip访问
点击设置 - 配置文件 - vhosts.conf - 点击选择你的站点域名打开文件复制原配置,加ip设置重启Apache环境即可
2022-01-10 14:33:08
3769
原创 mysql 分页数据异常出现重复数据 order by limit 混合使用的坑
比如表数据:第一页,查询3条数据SELECT * FROM test ORDER BY sort asc LIMIT 0,3查询结果:第二页,查询3条数据SELECT * FROM test ORDER BY sort asc LIMIT 3,3结果:老张重复出现了结论:order by的列有相同的值时,mysql会随机选取这些行解决方案:再加上主键id排序,确保顺序问题SELECT * FROM test ORDER BY sort asc,id asc LIMIT 0,3
2022-01-07 13:54:29
502
原创 mysql批量修改字段null值改为空字符串
UPDATE 表名SET 字段名 = ( CASE WHEN IFNULL(字段名, '') = '' THEN '' ELSE 字段名 END)WHERE 字段名 IS NULL;
2021-12-31 18:04:30
6177
原创 get_headers()获取文件大小,解决https链接报错问题
获取文件大小代码$file_size = @get_headers($file_path, 1);$file_size = $file_size['Content-Length'] ?? 0;获取https的链接时报错日志error:14090086:SSL routines:ssl3_get_server_certificate:certificate verify failed[ error ] [2]get_headers(): Failed to enable crypto[ erro
2021-12-27 17:49:43
1939
原创 阿里云视频点播
记录一下服务端处理<?phpuse vod\Request\V20170321\GetPlayInfoRequest;$accessKeyId = '';$accessKeySecret = '';require_once WEB_ROOT.'vendor/voduploadsdk/Autoloader.php';// voduploadsdk为官方sdk目录文件try{ $uploader = new AliyunVodUploader($accessKeyId, $acce
2021-12-27 14:55:51
1230
原创 JQ实现点击文字后变成文本框,修改发送后台保存
业务逻辑描述:1、点击文字变为文本框 ,并选中文字2、对文本框内容进行修改3、点击文本框以外的地方文本框再次变为修改后的文字,如果是删除文字,显示默认提示文字(暂无描述)4、 AJAX同步更新SQL数据库内容HTML:<div class="item-desc" > <span class="item-desc-span">{$vo['filename']}文字</span> <input type="hidden" name="id" value=
2021-12-17 15:20:46
1567
原创 Facebook授权登录获取应用编号和应用密钥及配置
打开网址https://developers.facebook.com/apps/点击创建新应用选择应用类型为“商务”,点击“继续”按钮填写显示名、邮箱、应用用途,点击创建应用。之后可能会弹窗输入密码确认创建应用之后会跳转到应用添加产品页面,点击facebook登录产品,点击设置添加产品,之后的资料可不先填点击左侧栏“Facebook登录 - 设置”,如果权限不足会有提示“你的应用有 public_profile 的一般访问权。若要使用 Facebook 登录功能,请将 public_
2021-12-17 10:03:39
3568
原创 检测字符串编码并将编码改为utf-8
获取当前字符串的编码$encode = mb_detect_encoding($name, ['ASCII', 'UTF-8', 'GB2312', 'GBK', 'BIG5']);将字符编码改为utf-8$strUtf8 = mb_convert_encoding($str, 'UTF-8', $encode);
2021-12-08 11:37:55
877
原创 亲身经历的curl请求慢的原因
不要以为我文字少就不精华,网上说一大堆都说不到重点的有啥用。1、dns不稳定导致请求慢解决方案一:更换dns全国通用DNS地址首先DNS服务器地址:114.114.114.114备用DNS服务器地址:114.114.115.115全球通用DNS地址首选DNS服务器地址:8.8.8.8备用DNS服务器地址:8.8.4.4解决方案二:不更换dns的情况下,可以把curl的请求直接指定ip,这样就不会解析ip导致慢2、curl高并发或太多curl请求导致的,导致一直loading不处理这种情
2021-11-30 09:48:22
5050
1
原创 PHP 苹果内购iap支付
$receiptData = $_POST;// 验证参数if (strlen($receiptData['receipt']) < 1000) { return;}$receipt = $receiptData['receipt'];$receipt = urlencode($receipt);$receipt = str_replace('%2F','/',$receipt);$receipt = str_replace('%5C','',$receipt);$receip
2021-11-24 16:08:09
481
原创 mysql无主键删除重复数据保留一条
例如a表:namemobilegong188gong188qing166qing166lin155lin155boy133无自增主键,去除重复保留一条,步骤:1、导出a表结构,命名为b表b表结构为:namemobile2、查询a表去重复语句,再插入b表insert into b (select distinct * from a);执行语句,b表内容为:namemobilegon
2021-11-04 14:47:37
1625
1
翻译 数组搭配组合
<?php$source = [1,2,3];sort($source); //保证初始数组是有序的$last = count($source) - 1; //$source尾部元素下标$x = $last;$count = 1; //组合个数统计echo implode(',', $source), "<br>"; //输出第一种组合while (true) { $y = $x--; //相邻的两个元素 if ($source[$x] < $source[$y
2021-10-18 14:47:40
63
原创 IIS开启URL重写隐藏index.php
下载安装URL重写下载地址:链接:https://pan.baidu.com/s/1ceqGYFEHCA7APjyEPRrw2w提取码:gong打开IIS服务器管理器,管理区多了“URL重写”选项(如果没有则刷新一下或重新打开管理器)双击点开,右侧栏点击导入规则在重写规则填写<IfModule mod_rewrite.c> RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-d RewriteCond
2021-10-12 09:03:04
233
转载 php 操作数组 (合并,拆分,追加,查找,删除,交集,差集,键值,判断等)
1. 合并数组array_merge()函数将数组合并到一起,返回一个联合的数组。所得到的数组以第一个输入数组参数开始,按后面数组参数出现的顺序依次迫加。其形式为: array array_merge (array array1 array2…,arrayN) 这个函数将一个或多个数组的单元合并起来,一个数组中的值附加在前一个数组的后面。返回作为结果的数组。如果输入的数组中有相同的字符串键名,则该键名后面的值将覆盖前一个值。然而,如果数组包含数字键名,后面的值将不会覆盖原来的值,而是附加到后面。
2021-09-28 09:13:03
915
翻译 belongsTo和hasOne的区别
hasOne 正向关联,belongsTo 反向关联。简单的讲就是,没有太大的区别,只是在逻辑上出现的思想的偏差(逻辑的合理性)。belongsTo:可以理解为属于hasOne:可以理解为拥有首先,我们创建两张表。user表 字段 id name password字段user_address表 id user_id city字段不难看出,user_address是基于user扩展出来的表。我们可以说,user拥有user_address的外键,user_address的外键属于user。Us
2021-09-15 16:06:22
873
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人