php小学徒
码龄8年
求更新 关注
提问 私信
  • 博客:123,526
    社区:1
    123,527
    总访问量
  • 23
    原创
  • 10
    粉丝
  • 182
    关注
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:河北省
加入CSDN时间: 2017-03-22
博客简介:

小学徒的博客

查看详细资料
个人成就
  • 获得25次点赞
  • 内容获得0次评论
  • 获得82次收藏
创作历程
  • 1篇
    2021年
  • 6篇
    2018年
  • 33篇
    2017年
成就勋章
TA的专栏
  • Go
  • php 知识点
    19篇
  • mysql
    7篇
  • js
    1篇
  • jquery 和 插件
    1篇
  • 杂项
    6篇
  • yii2
    6篇
  • linux
  • html
    1篇

TA关注的专栏 2

TA关注的收藏夹 0

TA关注的社区 6

TA参与的活动 0

  • 最近
  • 文章
  • 专栏
  • 代码仓
  • 资源
  • 收藏
  • 关注/订阅/互动
更多
  • 最近

  • 文章

  • 专栏

  • 代码仓

  • 资源

  • 收藏

  • 关注/订阅/互动

  • 社区

  • 帖子

  • 问答

  • 课程

  • 视频

搜索 取消

PHP 使用Redis防止重复提交

PHP 使用Redis防止重复提交最近工作中遇到了用户申请数据会出现同一秒提交上来两条一样的数据, 对数据的分析造成了很大的影响,然后就开始想到使用Redis重复提交,给动作加锁,在一定时间内不能再次执行。过程中使用了Redis的set方法:2.6.12之后版本,Redis set指令支持了nx、ex模式,并支持原子化地设置过期时间:如果一个请求更新缓存的时间比较长,甚至比锁的有效期还要长,导致在缓存更新过程中,锁就失效了,此时另一个请求会获取锁,但前一个请求在缓存更新完毕的时候,如果不加以判断直
原创
发布博客 2021.05.20 ·
1188 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

yii2使用阿里云oss SDK上传下载文件

由于工作中需要使用 阿里云OSS的SDK上传图片实例,经过在网上搜索和自己的实验,已经成功的在项目中使用了,下面的是例子:1.先用composer 下载oss的sdk到框架的vendor中使用composer下载的会通过composer自动加载到项目中,如果是copy到项目中的,则需要去添加配置是的能自动加载:2. 在根目录/common/里面新建Aliyunoss.php文件。3. 代码...
原创
发布博客 2018.11.30 ·
1604 阅读 ·
1 点赞 ·
0 评论 ·
1 收藏

php识别文件编码,并读出内容,对大文件也很有效率

<?php /** * 检测文件编码 * @param string $file_path 文件路径 * @return string $filesize 默认为空,获取文件的全部内容,如果仅需要获取文件编码类型,获取前一百个字符即可,配合detect_encoding方法使用 * @return string 返回文件内容,自动换行 ...
转载
发布博客 2018.10.11 ·
1072 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

PHP 利用 ZipArchive 将多个文件生成压缩包并下载 和解压压缩包

本人是在工作中需要将阿里云oss的图片通过页面进行多选,然后生成压缩包的形式下载,由于oss不支持改功能,则使用的 ZipArchive 进行压缩下载下面是方法: $zipname = tempnam(__dir__.'/log', ''); $zip = new ZipArchive(); if ($zip->open($zipname,...
原创
发布博客 2018.10.10 ·
2760 阅读 ·
0 点赞 ·
0 评论 ·
4 收藏

php 一些有用的函数

1.多维数组合并成一维数组$arr = [ [ '1','2','3','4','5','6'], ['one','two','three','four','five','six']];$new_arr = call_user_func_array('array_merge', $arr);echo '<pre>';var_dump($new_arr);array(...
原创
发布博客 2018.10.09 ·
181 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

php csv格式大批量数据下载

发布资源 2018.04.13 ·
php

一些常用的封装函数(获取当前ip、查找手机号归属地、根据ip获取所在地区)

1. 获取请求ip// 获取请求ip function ip() { if(getenv('HTTP_CLIENT_IP') && strcasecmp(getenv('HTTP_CLIENT_IP'), 'unknown')) { $ip = getenv('HTTP_CLIENT_IP'); } elseif(getenv('HTTP_X_FORWARDED_F...
原创
发布博客 2018.04.09 ·
1483 阅读 ·
1 点赞 ·
0 评论 ·
2 收藏

php csv格式导出大量数据

在php中,经常使用excel表格下载数据,但是当下载的数据量比较大时,会比较慢,以下方法适用于导出大批量的数据,但是当带出的字段较多是,也会影响下载的速度。<?php header ( "Content-type:application/vnd.ms-excel" ); header ( "Content-Disposition:filename=" . iconv ( "UTF...
原创
发布博客 2018.04.09 ·
1000 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

完美解决 textarea 实时显示字数

完美解决 textarea 实时显示字数不管是使用onkeydown/onkeypress/onkeyup哪种其实都是不完美的,最显而易见的缺陷就是在处理复制、粘贴的内容时是无效的,还有在移动端也有可能会有问题。 这时可以使用onpropertychange,它可以实现实时监听的效果,但是这个事件是IE专属的,这时最好判断是否为IE浏览器,是就是用onpropertychange,不是就使用另一个
原创
发布博客 2017.11.23 ·
11749 阅读 ·
5 点赞 ·
0 评论 ·
12 收藏

抢购是如今很常见的一个应用场景,主要需要解决的问题

抢购是如今很常见的一个应用场景,主要需要解决的问题有两个:1 高并发对数据库产生的压力2 竞争状态下如何解决库存的正确减少(“超卖”问题)对于第一个问题,已经很容易想到用缓存来处理抢购,避免直接操作数据库,例如使用Redis。重点在于第二个问题,我们看看下面一种常规的实现代码:<?php require('predis/src/Autoloader.php');$redis = new Predi
原创
发布博客 2017.10.23 ·
371 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

请求服务器时的状态码详解

当用户点击或搜索引擎向网站服务器发出浏览请求时,服务器将返回Http Header Http头信息状态码,常见几种如下: 1、Http/1.1 200 OK 访问正常 表示成功访问,为网站可正常访问时的状态。2、Http/1.1 301 Moved Permanently 301重定向永久重定向 对搜索引擎相对友好的跳转方式,当网站更换域名时可将原域名作301永久重定向到新域名,原域名
原创
发布博客 2017.10.23 ·
1000 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

PHP如何解决网站大流量与高并发的问题

首先,确认服务器硬件是否足够支持当前的流量。 普通的P4服务器一般最多能支持每天10万独立IP,如果访问量比这个还要大, 那么必须首先配置一台更高性能的专用服务器才能解决问题 ,否则怎么优化都不可能彻底解决性能问题。 其次,优化数据库访问。 前台实现完全的静态化当然最好,可以完全不用访问数据库,不过对于频繁更新的网站, 静态化往往不能满足某些功能。 缓存技术就是另一个解决方案,就是将动态数据
原创
发布博客 2017.10.23 ·
296 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

php结合redis实现高并发下的抢购、秒杀功能的实例

抢购、秒杀是如今很常见的一个应用场景,主要需要解决的问题有两个: 1 高并发对数据库产生的压力2 竞争状态下如何解决库存的正确减少(”超卖”问题)对于第一个问题,已经很容易想到用缓存来处理抢购,避免直接操作数据库,例如使用Redis。重点在于第二个问题常规写法: 查询出对应商品的库存,看是否大于0,然后执行生成订单等操作,但是在判断库存是否大于0处,如果在高并发下就会有问题,导致库存量出现负数<
转载
发布博客 2017.10.23 ·
708 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

php 限制用户接口请求频率

有时候我们需要限制一个API访问的频率,例如单用户一分钟之内只能访问多少次。 类似于这样的需求很容易用Redis来实现。 <?php $redis = new Predis\Client(array( 'scheme' => 'tcp', 'host' => '127.0.0.1', 'port' => '6379' )); $redis
转载
发布博客 2017.10.23 ·
13410 阅读 ·
1 点赞 ·
0 评论 ·
10 收藏

php 一个账号禁止多浏览器多用户登录

思路:可以弄个随机码每次登陆的时候记录到session和数据库里,然后做对比不一样就退出登陆 代码:public function actionLogin() { if(isset($_POST['submit'])){ $username=$this->getRequestParam('username'); $password=$this->getReq
原创
发布博客 2017.10.16 ·
4134 阅读 ·
1 点赞 ·
0 评论 ·
10 收藏

MySQL 数据库设计总结

MySQL 数据库设计总结规则1:一般情况可以选择MyISAM存储引擎,如果需要事务支持必须使用InnoDB存储引擎。注意:MyISAM存储引擎 B-tree索引有一个很大的限制:参与一个索引的所有字段的长度之和不能超过1000字节。另外MyISAM数据和索引是分开,而InnoDB的数据存储是按聚簇(cluster)索引有序排列的,主键是默认的聚簇(cluster)索引,因
转载
发布博客 2017.10.14 ·
251 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

html 锚点三种实现方法

在网页中经常用到锚点,特别是在比较长的页面中锚点的使用会增加用户体验,现在php中文网介绍html 锚点三种实现方法1. 在同一页面中跳转到add2. 在不同页面中,锚点定位在a.html中,从另外一个页面的链接跳转到这个锚点跳转到a.add3. 点击链接触发js事件,同时跳转到锚点,有两种处理方式:第一种:触发add函数并跳转到add锚点第
转载
发布博客 2017.10.14 ·
48329 阅读 ·
8 点赞 ·
0 评论 ·
46 收藏

PHP和js判断访问终端是否是微信浏览器

js判断是否是微信浏览器function is_weixin() {     var ua = window.navigator.userAgent.toLowerCase();     if (ua.match(/MicroMessenger/i) == 'micromessenger') {         $("#rs").text("微信浏览器");     } else {     
转载
发布博客 2017.10.14 ·
1199 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

php ftp操作类

<这里写代码片?phpnamespace modules\Yinzhi\models; use yii; /** * 作用:FTP操作类( 拷贝、移动、删除文件/创建目录,下载 ) * 时间:2017-10-13 * 作者:何为伊人 * QQ:3156976879 */ class Ftplb {public $off; // 返回操作状态(成功/失败) public $conn
原创
发布博客 2017.10.13 ·
384 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

yii2的文件土拍你上传类UploadedFile的使用

1UploadedFile上传文件帮助类基本函数通过模型的属性获取一个文件 $file = UploadedFile::getInstance($model,'avatar')通过模型的属性来获取一组文件 $files = UploadedFile::getInstances($model,'avatar')//view $form->fi
原创
发布博客 2017.09.29 ·
1543 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏
加载更多