随笔分类 - PHP
PHP代码
摘要:ini_set('memory_limit','3072M'); // 临时设置最大内存占用为3G set_time_limit(0); // 设置脚本最大执行时间 为0 永不过期
阅读全文
摘要:用于防止恶意评论,过滤恶意评论,屏蔽关键字 配置文件config.php 2.主文件
阅读全文
摘要:1、全页面静态化缓存 也就是将页面全部生成html静态页面,用户访问时直接访问的静态页面,而不会去走php服务器解析的流程。此种方式,在CMS系统中比较常见,比如dedecms; 一种比较常用的实现方式是用输出缓存: 1 2 3 4 5 Ob_start(); /* 要运行的代码 */ $conte
阅读全文
摘要:不同点: (1) redis中并不是所有数据在有效期内只能常驻内存的(如果需要,可定期同步持久化到磁盘),这是和memcached相比一个最大的区别(memcached中的数据在有效期内是以键值对的形式常驻内存的) (2) redis不仅仅支持简单的键值对类型的数据,同时还提供list,set,ha
阅读全文
摘要:得到的结果就是:2017-04-03 10:33:11
阅读全文
摘要:获取系统类型及版本号: php_uname() (例:Windows NT PCA15130 6.1 build 7601 (Windows 7 Ultimate Edition Service Pack 1) i586) 只获取系统类型: php_uname('s') (或:PHP_OS,例:Wi
阅读全文
摘要:遇到这样一个需求:原图大小不一,而且留白也大小不一,需要将原图切出来一个核心图,然后将图片左右留白,组成一个其他尺寸的图片。换句话说,原图在新图片中的位置是可以控制的。 这里思路是:先创建一个规定大小的底图,然后将原图经过缩放后,放到底图中,也就是图片叠加。 ####这里实现的是第二个箭头所示的效果
阅读全文
摘要:一、前方有坑 php在使用加减乘除等运算符计算浮点数的时候,经常会出现意想不到的结果,特别是关于财务数据方面的计算,给不少工程师惹了很多的麻烦。比如今天工作终于到的一个案例: $a = 2586; $b = 2585.98; var_dump($a-$b); 期望的结果是:float(0.02) 实
阅读全文
摘要:一、前方有坑 php开发过程中,难免会遇到这四个值:false,null,0,’',并且也会对这四个值进行比较,然后分别进行业务代码处理。一招不慎,就会踩到坑,影响数据判断的正确性和安全性,以至于造成代码不健壮,给程序的测试和运行造成很多的麻烦。 看如下代码: $a = NULL; $b = '';
阅读全文
摘要:一、前方有坑 php某些自带函数,如果使用不当,也会坑得你人仰马翻。比如:strpos() 先了解一下strpos()函数是干啥的。 strpos — 查找字符串首次出现的位置 用法: int strpos ( string $haystack , mixed $needle [, int $off
阅读全文
摘要:一、前方有坑 php属于弱类型语言,不会强迫工程师在使用变量之前先声明变量类型,开发时爽了,但是也带来不少的坑。下面就举一个坑的例子: 例1: $str = ‘haodaquan'; echo ($str == 0) ? 1 : 0; 运行结果是: 1 这个坑,在好多公司的笔试题里出现,当然没有这么
阅读全文
摘要:前言:在日常开发中经常会遇到使用isset()函数检测一个变量是否设置,有什么需要注意的地方,今天一起来讨论一下 注:测试的php版本是5.6.22 一、前方有坑 先上代码: $arr['a'] = NULL; $arr['b'] = ''; $arr['c'] = 0; $arr['d'] = 0
阅读全文
摘要:军规适用场景:并发量大、数据量大的互联网业务 军规:介绍内容 解读:讲解原因,解读比军规更重要 一、基础规范 (1)必须使用InnoDB存储引擎 解读:支持事务、行级锁、并发性能更好、CPU及内存缓存页优化使得资源利用率更高 (2)必须使用UTF8字符集 解读:万国码,无需转码,无乱码风险,节省空间
阅读全文
摘要:前言:所谓的坑,两个意思,一个是软件本身的bug,一个是使用者常犯的错误。 phper在日常开发中经常和mysql打交道。特别是在没有分层的中小应用中,phper开发要关注sql语句的实现。 入正题,上建表语句: DROP TABLE IF EXISTS `test_sql`; CREATE TAB
阅读全文
摘要:一、需求 有如下一个表pp_test: 要求查出name字段中不重复的值(不算空值),并且按照id的倒序排列(不必输出ID)。 可能好多人首先想到的是以下sql: 显然,这句是错的。 因为,这句话查询的是name+id不重复的,不是查询name值不重复的。 二、解决 思路:先把表按照倒序排列,然后在
阅读全文
摘要:mysql建数据库或者建表的时候会遇到选择编码的问题,以前我们都是习惯性的选择utf8,但是在mysql在5.5.3版本后加了utf8mb4的编码,utf8mb4可以存4个字节Unicode,mb4就是most bytes 4的意思。包括Emoji 表情和很多不常用的汉字都可以存储,还可以存储任意新
阅读全文
摘要:在mysql见表的时候,会遇到选择存储引擎:MyISAM和InnoDB。究竟用哪种存储引擎好呢? 1、MyISAM:表锁;支持全文索引;读并发性能较好。 2、InnoDB:行锁;支持事务,支持外键;写并发性能较好。 实际上,现在大多数的公司里,mysql的规定都是使用InnoDB作为默认存储引擎,除
阅读全文
摘要:创建mysql数据表的时候,经常会遇到存储小数(浮点数)的情况,如:价格,重量,身高等。 目前大的公司流行三种存储方案: 1、将数据扩大10的倍数达到使用整数类型存储目的。 比如价格,我们经常以分为单位进行存储,也就是将数据扩大100倍,这样元改成分存储。 重量可以用克为单位,如果克还是小数,就以毫
阅读全文