
php
文章平均质量分 55
hoftime
这个作者很懒,什么都没留下…
展开
-
php 禁止页面缓存代码
很多时候,比如论坛的登录退出状态,都需要及时的更改;验证码的点击更换,想象下,如果这些都在缓存中,你会遇到什么问题,举个例子吧,如果一个验证码,无论用户怎么点击更换,都显示一个,那验证码还有意义吗,万一那个验证码实在是不容易识别岂不是更加糟糕。 这里有一个php简单的代码,有点长不容易记,特整理如下: header("Expires: Mon, 26 Jul 1997 0原创 2016-03-16 16:06:35 · 14212 阅读 · 0 评论 -
PHP 中 and 与 &&、or 与 || 的 区别
这两天进行 code review , 发现了一些关于PHP运算符优先级的使用问题,现在先贴一张PHP文档中的一张图例。通过上面的图例很容易看出来,一些运算符虽然作用一致,但是其优先级不同,而这需要严格的注意,不能有丝毫马虎。以逻辑运算符 && 、AND 、|| 、OR为例, 他们在一定的条件下,取得的结果一致,但不同的使用方法,可能会对你的程序开发造成困扰:1. 以 OR 为例原创 2017-06-12 09:16:34 · 22468 阅读 · 0 评论 -
关于switch的一些理解
switch 语句类似于具有同一个表达式的一系列 if 语句。很多场合下需要把同一个变量(或表达式)与很多不同的值比较,并根据它等于哪个值来执行不同的代码。这正是 switch 语句的用途。这是 PHP 官方对 switch 语句的解释,原创 2017-06-12 10:17:09 · 11702 阅读 · 0 评论 -
网页测速
网页测速小插件原创 2016-12-16 18:16:14 · 13763 阅读 · 1 评论 -
redis持久化方式浅析
redis持久化方式浅析原创 2017-07-25 15:11:49 · 10483 阅读 · 0 评论 -
PHP csv大文件读取与操作
SplFileObject类为文件提供了一个面向对象接口。原创 2017-08-24 17:56:25 · 15041 阅读 · 0 评论 -
csv文件中字符串替换(csv换行符错误使用造成PHP读取异常)
csv文件中换行符使用对不同系统有不同的影响,下面介绍一个案例。前两天收到了几个csv文件,使用PHP提供的 fgetcsv() 函数报内存错误,通过一部分调试,判断原因为换行符异常。Mac下直接通过系统命令,查看输出,命令如下:head aaa.csv (输出aaa.csv前十条内容),输出结果是一整串巨长的字符串,貌似换行符未生效。(由于保密原因暂不贴图)ok,通过了上面的命令,原创 2017-08-21 18:20:44 · 13116 阅读 · 0 评论 -
php 下载excel文件,单独设置工作表(sheet1,sheet2,sheet3....)
一直以来下载excel文件,都是简单使用修改header头的方式进行下载,好处自然是简单直接,缺点是,只能使用一个工作表,即一个sheet。下面提供一个可生成多个工作表的excel<?phpnamespace worksheet;class WorkSheet{ private $lines = array(); public $sWorksheetTitle;原创 2017-08-25 16:55:45 · 13308 阅读 · 0 评论 -
PHP大文件上传(切片上传)
由于项目需要,经常要上传几百兆或者几个G的文件。考虑到文件过大,直接上传的话会超出PHP设置的表单提交限制大小,同时会占用较多的系统资源。于是考虑将文件进行切片,然后将切片后的文件统一上传至文件目录,待全部上传成功之后再将其合并成一个文件,同时后台md5验证是否上传成功。上面的思路是目前上传大容量文件的主要解决方法。考虑到此种方案,在各大公司都有较好的案例,也就不用自己在进行编写,在网上找原创 2017-08-25 17:42:26 · 22451 阅读 · 3 评论 -
解决PHP 输出csv文件中文乱码
PHP 下载文件常采用字节流输出的方式。因此常用的下载csv格式代码如下:header("Content-Type: application/force-download"); header("Content-type:text/csv;charset=gb2312"); header("Content-Disposition:filename=打开邮件导出".date("YmdHis")原创 2016-11-25 09:53:54 · 21745 阅读 · 0 评论 -
mysql datetime 计算相隔时间
最近突然遇到朋友问,怎么计算两个时间间隔的小时数,说真的,在这个需求之前,做的大部分是根据时间排序,查找时间,以时间分组,时间类型转换等基础的操作。有很多,就比如计算间隔时间就没有过多的涉及。下面介绍间隔时间的计算以及获取方法原创 2017-09-13 18:25:10 · 17595 阅读 · 0 评论 -
关于 mysql 中 find_in_set 与 like 查询的一些思考
前段时间项目中,使用到了mysql中的find_in_set 查询,因为原先没有使用过此方法,故进行了些许研究。如mysql官方文档所说,find_in_set (str , strlist) 函数,查询字段(strlist)中包含 str 的结果,return 为 符合的结果 或者 null。举例如下:select * from (select 1,2,3,'1,2,3' as s原创 2016-12-06 22:34:58 · 32227 阅读 · 3 评论 -
mac安装 redis 并 安装 PHP扩展
以前用过windows版的redis, 只是做了基本的测试,安装扩展也较为简单,之前的文章就有写。最近由于使用的是mac,并且PHP版本也是最新的,正常使用Mac 的brew 安装redis,其自带的redis.so不能恰好适配,所以需要手动安装,以下为具体的流程步骤。1. 首先通过 brew search redis 查看可安装的版本,然后通过 brew install redis版本 ,进原创 2017-09-30 14:23:06 · 11518 阅读 · 2 评论 -
xhprof 参数简介
Function Name:方法名称。Calls:方法被调用的次数。Calls%:方法调用次数在同级方法总数调用次数中所占的百分比。Incl.Wall Time(microsec):方法执行花费的时间,包括子方法的执行时间。(单位:微秒)IWall%:方法执行花费的时间百分比。Excl. Wall Time(microsec):方法本身执行花费的时间,不包括子方法的执行时间。(原创 2017-10-31 18:27:39 · 10161 阅读 · 0 评论 -
redis 强制关闭Redis快照导致不能持久化解决方案
msg:MISCONF Redis is configured to save RDB snapshots, but is currently not able to persist on disk. Commands that may modify the data set are disabled. Please check Redis logs for details about the error. 解决方案原创 2017-11-30 11:26:08 · 11463 阅读 · 0 评论 -
深入理解 ob_flush 与 flush 的使用效果
在PHP手册中,ob_flush与flush描述, 都是刷新输出缓冲区, 导致很多人迷惑,或者不细心的人可能从来不会注意到这一点,其实, 两者的操作对象不同, 并且在有些情况下, flush根本不会有任何动作。原创 2017-03-03 11:17:15 · 13774 阅读 · 0 评论 -
一个html截取字符串的小工具
很多时候,我们在数据库中调取出的数据,完完全全放在网页中,会因为数据过长而影响网站的布局,甚至会使网页错乱,这时候就需要在服务器端将数据截取,或者使用类似smarty的截取字符串功能,当然还有一个我认为更简单的方法,只需要在你所需要控制的地方加上下面的div,div中放置数据,当然这种方式最好是放置在循环中,,, 润慈孕妇装加盟流程一般是怎样的?在昆明开店大概要多少钱?当地的朋友有了解的吗原创 2016-03-15 15:59:04 · 13444 阅读 · 0 评论 -
php 导出数据到csv格式
csv是一种常用的无格式类型的文件,以逗号进行分隔,类似excel。csv可以作为数据存储的一种形式,与excel相比,它的优点就是打开速度更快,粗略估计大概快了接近15倍左右。以前写过一篇文章,是用来网页下载excel文档,但是数据过大之后,因为样式的原因,以及一些其他原因,造成excel读取缓慢,Google了一下,没有找到最好的解决办法,不过记得以前看过一篇文章,说csv比excel原创 2016-05-24 15:08:10 · 17650 阅读 · 0 评论 -
php 导出数据到excel(缓冲区应用)
昨天写了个php 结合缓冲区读取excel数据并批量导入mysql,缓冲区可有可无,没有多大的影响,接下来介绍一下php导出数据到excel,这次采用缓冲区的方式,大家知道,php中,所有的输出都会用到缓冲区,缓冲区的左右就是协调告诉的cpu与相对缓慢的I/O操作。原创 2016-04-21 15:15:28 · 15696 阅读 · 0 评论 -
php 生成电话名片二维码
今天有个需求做一个php制作二维码名片的功能,网上找了一堆,都是直接访问url,感觉与需求不符,恶补了下知识,发现可以通过一种规范定义电子名片的格式去实现这样的功能,貌似很多网站生成二维码都是这样实现的,除非制作二维码时是如同微信名片那样访问的具体的url地址。当然,如果是实现那样的功能也不能,有需求就有生产力。phpqrcode 下载地址 https://sourceforge.net/原创 2016-05-04 13:28:20 · 15782 阅读 · 0 评论 -
apache 配置虚拟主机的小陷阱(不注意,还真能踩坑)
Mac apache 设置 虚拟主机时踩过的那些坑原创 2016-08-21 17:30:56 · 16533 阅读 · 2 评论 -
微信文章图片防盗链,下载到本地
前段时间搞微信开发,其中用到微信中的公众号二维码图片,当时没有在意直接将图片路径放进了数据库,调取时发现图片被做防盗链了。当时想图片存储在本地比较合适,于是按照curl 模拟微信场景读取图片下载到本地,这样也就避过了微信的检测机制。 /** * 将微信图片保存到本地 * @param string $url 微信的图片地址 *原创 2016-09-14 14:15:54 · 15339 阅读 · 0 评论 -
linux 计划任务不能执行 解决思路(PHP)
导致crontab不能正常执行的原因是什么呢?我总结了下,大体是以下几种原因:原创 2016-09-06 20:21:37 · 16094 阅读 · 0 评论 -
php 结合缓冲区读取excel数据并批量导入mysql
在工作中,很多时候需要把excel中的数据读取出来,导入到mysql中,以前的代码,都是通过 Spreadsheet_Excel_Reader插件直接取出来,进行for循环,组合成一个长的sql语句,这样进行插入,但是这样的导入有不足之处就是如果导入的数据量庞大,那么会造成长语句超出sql最大限制。并且执行时间超长,会超出php脚本执行时间下面贴一段原先的代码。require_once 'Excel/reader.php';//调用R原创 2016-04-20 17:37:22 · 17828 阅读 · 0 评论 -
mysql delete 语句(连接删除)
今日,突然发现虽然经常使用mysql delete操作,但是大多数的时候只是最简单的单表删除,恰巧今日碰到了一个应用场景,即需要删除表内的一些数据,但是一些必要的条件却是存储在另一表内,当时一瞬间的想法就是join。想到就做,构建最原始的delete语句:delete from table1 where table1.id = 1; 如果需要关联其他表进行删除,执行如下操作:原创 2016-12-06 14:15:46 · 26628 阅读 · 1 评论 -
如何在本网站域名下展示另外一个网站域名的内容
曾经遇到过一个需求,将一个网站的首页在另一个网站的首页中显示。当时使用了一种很简单的方式,即使用file_get_contents 直接获取到那个网站的源码,替换了其中一些必须的字符,然后直接输出出来。这个方法很简单,但是只能抓取一个页面。上个月与联想有业务方面的合作,他们提了类似这样的需求,但是与上面的需求不同的是:这次是表单提交的页面,与此有关的提交成功页面还有其他相关的页面都要在联想的网原创 2016-12-08 19:07:35 · 15233 阅读 · 0 评论 -
msyql 备份sql文件及恢复
掌握mysql备份及恢复sql文件,是一个必不可缺少的技能,有些人可能会说不是有类似phpmyadmin之类的工具吗,虽然phpmyadmin在一定程度上给了我们很大的便利,但是他也有很多的限制,比如导入文件的大小限制。下面以wamp环境为例: mysql 备份sql文件:首先进入msyql 安装目录(我的msyql 在d盘符): C:\Users\Administra原创 2016-03-17 17:23:26 · 13886 阅读 · 0 评论 -
Cookie 和用户识别
通常,各种网站会统计页面的访问量,然后生成报表,用于之后的SEO工作或者电商类商品方案的调整,这就带来了几个名词,PV(访问量)、UV(独立访客)、IP(独立IP);曾在一个招商行业的公司一段时间,因为原先网站没有自己的数据统计,为了便于管理,以及方便竞价员工的工作,为其开发了一个大型的网站后台,因业务体系的不同,仅仅只是引入了PV、IP的概念,同时因存在手机网站,又为其划分了手机端与电脑端,原创 2016-09-14 17:27:53 · 14615 阅读 · 0 评论 -
用星际快速入门PHP面向对象编程(很有意思的教程 赞赞赞)
用星际快速入门PHP面向对象编程(很有意思的教程 赞赞赞)转载 2017-01-01 18:56:05 · 12641 阅读 · 0 评论 -
Zend Framework 2 学习教程链接
Zend Framework 2 学习教程链接原创 2017-01-01 18:59:32 · 13305 阅读 · 0 评论 -
http状态码大全
1xx(临时响应) 用于表示临时响应并需要请求者执行操作才能继续的状态代码。代码 说明100(继续) 请求者应当继续提出请求。服务器返回此代码则意味着,服务器已收到了请求的第一部分,现正在等待接收其余部分。 101(切换协议) 请求者已要求服务器切换协议,服务器已确认并准备进行切换。2xx(成功) 用于表示服务器已成功处理了请求的状态代码。 代码 说明原创 2017-12-06 16:47:41 · 14801 阅读 · 2 评论