php 知识点
php小学徒
这个作者很懒,什么都没留下…
展开
-
Php 数组去重
1.使用array_unique方法进行去重 2.使用array_filp方法去重 总结: 在大数组中,array_filp 比 array_unique() 效率要高很多。原创 2017-05-10 17:38:17 · 5675 阅读 · 0 评论 -
PHP如何解决网站大流量与高并发的问题
首先,确认服务器硬件是否足够支持当前的流量。 普通的P4服务器一般最多能支持每天10万独立IP,如果访问量比这个还要大, 那么必须首先配置一台更高性能的专用服务器才能解决问题 ,否则怎么优化都不可能彻底解决性能问题。 其次,优化数据库访问。 前台实现完全的静态化当然最好,可以完全不用访问数据库,不过对于频繁更新的网站, 静态化往往不能满足某些功能。 缓存技术就是另一个解决方案,就是将动态数据原创 2017-10-23 19:53:45 · 271 阅读 · 0 评论 -
php 一个账号禁止多浏览器多用户登录
思路:可以弄个随机码每次登陆的时候记录到session和数据库里,然后做对比不一样就退出登陆 代码:public function actionLogin() { if(isset($_POST['submit'])){ $username=$this->getRequestParam('username'); $password=$this->getReq原创 2017-10-16 17:49:27 · 4069 阅读 · 0 评论 -
完美解决 textarea 实时显示字数
完美解决 textarea 实时显示字数不管是使用onkeydown/onkeypress/onkeyup哪种其实都是不完美的,最显而易见的缺陷就是在处理复制、粘贴的内容时是无效的,还有在移动端也有可能会有问题。 这时可以使用onpropertychange,它可以实现实时监听的效果,但是这个事件是IE专属的,这时最好判断是否为IE浏览器,是就是用onpropertychange,不是就使用另一个原创 2017-11-23 17:20:29 · 11714 阅读 · 0 评论 -
php csv格式导出大量数据
在php中,经常使用excel表格下载数据,但是当下载的数据量比较大时,会比较慢,以下方法适用于导出大批量的数据,但是当带出的字段较多是,也会影响下载的速度。<?php header ( "Content-type:application/vnd.ms-excel" ); header ( "Content-Disposition:filename=" . iconv ( "UTF...原创 2018-04-09 14:37:20 · 972 阅读 · 0 评论 -
一些常用的封装函数(获取当前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 15:01:16 · 1442 阅读 · 0 评论 -
php识别文件编码,并读出内容,对大文件也很有效率
<?php /** * 检测文件编码 * @param string $file_path 文件路径 * @return string $filesize 默认为空,获取文件的全部内容,如果仅需要获取文件编码类型,获取前一百个字符即可,配合detect_encoding方法使用 * @return string 返回文件内容,自动换行 ...转载 2018-10-11 14:30:07 · 1039 阅读 · 0 评论 -
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 16:31:50 · 158 阅读 · 0 评论 -
php结合redis实现高并发下的抢购、秒杀功能的实例
抢购、秒杀是如今很常见的一个应用场景,主要需要解决的问题有两个: 1 高并发对数据库产生的压力2 竞争状态下如何解决库存的正确减少(”超卖”问题)对于第一个问题,已经很容易想到用缓存来处理抢购,避免直接操作数据库,例如使用Redis。重点在于第二个问题常规写法: 查询出对应商品的库存,看是否大于0,然后执行生成订单等操作,但是在判断库存是否大于0处,如果在高并发下就会有问题,导致库存量出现负数<转载 2017-10-23 19:30:07 · 686 阅读 · 0 评论 -
php 限制用户接口请求频率
有时候我们需要限制一个API访问的频率,例如单用户一分钟之内只能访问多少次。 类似于这样的需求很容易用Redis来实现。 <?php $redis = new Predis\Client(array( 'scheme' => 'tcp', 'host' => '127.0.0.1', 'port' => '6379' )); $redis转载 2017-10-23 19:22:22 · 13241 阅读 · 0 评论 -
PHP和js判断访问终端是否是微信浏览器
js判断是否是微信浏览器function is_weixin() { var ua = window.navigator.userAgent.toLowerCase(); if (ua.match(/MicroMessenger/i) == 'micromessenger') { $("#rs").text("微信浏览器"); } else {转载 2017-10-14 11:09:46 · 1176 阅读 · 0 评论 -
array_map 和 array_filter 的使用
Array_map: array_map() 函数将用户自定义函数作用到数组中的每个值上,并返回用户自定义函数作用后的带有新值的数组。回调函数接受的参数数目应该和传递给 array_map() 函数的数组数目一致。 1. 将函数作用到数组中的每个值上,每个值都乘以本身,并返回带有新值的数组:function myfunction($v){ return($原创 2017-05-12 11:41:33 · 4644 阅读 · 0 评论 -
DES/3DES/AES区别
DES/3DES/AES区别公元前400年,古希腊人发明了置换密码。1881年世界上的第一个电话保密专利出现。在第二次世界大战期间,德国军方启用“恩尼格玛”密码机,密码学在战争中起着非常重要的作用。DES 1977年1月,美国政府颁布:采纳IBM公司设计的方案作为非机密数据的正式数据加密标准(DESData Encryption Standard) 。 目前在国内,随着三金转载 2017-05-04 15:58:43 · 514 阅读 · 0 评论 -
PHP 中获取文件扩展名小结
第1种方法第2种方法第3种方法第4种方法第5种方法第6种方法以上几种方式粗看了一下,好像都行,特别是2、3种方法,在我不知道pathinfo有第二个参数之前也一直在用。但是仔细考虑一下,前四种方法都有各种各样的毛病。要想完全正确获取文件的扩展名,必须要能处理以下三种特殊情况。 没有文件扩展名转载 2017-05-03 17:42:36 · 368 阅读 · 0 评论 -
HTTP Header 详解
HTTP(HyperTextTransferProtocol)即超文本传输协议,目前网页传输的的通用协议。HTTP协议采用了请求/响应模型,浏览器或其他客户端发出请求,服务器给与响应。就整个网络资源传输而言,包括message-header和message-body两部分。首先传递message-header,即httpheader消息 。http header 消息通常被分为4个部分:gener转载 2017-05-08 15:02:13 · 372 阅读 · 0 评论 -
$.ajax() 、$.post()、$.get() 的详解
$.ajax()方法详解1.url: 要求为String类型的参数,(默认为当前页地址)发送请求的地址。2.type: 要求为String类型的参数,请求方式(post或get)默认为get。注意其他http请求方法,例如put和delete也可以使用,但仅部分浏览器支持。3.timeout: 要求为Number类型的参数,设置请求超原创 2017-05-10 15:59:27 · 313 阅读 · 0 评论 -
php 判断 变量是数值还是字符串以及 empty、isset的区别
判断变量或者数组元素的类型以及empty、isset的区别原创 2017-06-02 16:28:08 · 716 阅读 · 0 评论 -
php ftp操作类
<这里写代码片?phpnamespace modules\Yinzhi\models; use yii; /** * 作用:FTP操作类( 拷贝、移动、删除文件/创建目录,下载 ) * 时间:2017-10-13 * 作者:何为伊人 * QQ:3156976879 */ class Ftplb {public $off; // 返回操作状态(成功/失败) public $conn原创 2017-10-13 09:48:14 · 369 阅读 · 0 评论 -
PHP 利用 ZipArchive 将多个文件生成压缩包并下载 和解压压缩包
本人是在工作中需要将阿里云oss的图片通过页面进行多选,然后生成压缩包的形式下载,由于oss不支持改功能,则使用的 ZipArchive 进行压缩下载下面是方法: $zipname = tempnam(__dir__.'/log', ''); $zip = new ZipArchive(); if ($zip->open($zipname,...原创 2018-10-10 14:31:51 · 2711 阅读 · 0 评论