2019年6月17日
摘要: PHP中把对象转数组的几个方法: 阅读全文
posted @ 2019-06-17 17:19 夏沫忆香 阅读(62213) 评论(0) 推荐(0)
摘要: 银行卡Luhm 校验 阅读全文
posted @ 2019-06-17 17:17 夏沫忆香 阅读(1163) 评论(0) 推荐(0)
摘要: 用的白名单过滤,是我们的论坛自用的方法,也许考虑不周,欢迎来黑我们的论坛!https://www.ebcms.com/forum.html 当然 还有一种漏洞就是url权限操作链接,可能引起版主误操作。 阅读全文
posted @ 2019-06-17 17:16 夏沫忆香 阅读(1304) 评论(0) 推荐(0)
摘要: 随机字符生成 阅读全文
posted @ 2019-06-17 17:15 夏沫忆香 阅读(340) 评论(0) 推荐(0)
摘要: 计算两个日期相差 年 月 日相差年月日计算 相差天 小时 秒 计算 阅读全文
posted @ 2019-06-17 17:13 夏沫忆香 阅读(2679) 评论(0) 推荐(0)
摘要: 有两个已知时间戳。判断该时间戳内是否包含周六周天。 阅读全文
posted @ 2019-06-17 17:12 夏沫忆香 阅读(587) 评论(0) 推荐(0)
摘要: 18位不重复订单号 暂时只测试了本地,如果需要多并发,可以考虑将静态变量变为静态缓存判断 加上用户id是肯定不会有重复的 阅读全文
posted @ 2019-06-17 17:10 夏沫忆香 阅读(683) 评论(0) 推荐(0)
摘要: 相对路径转绝对路径 阅读全文
posted @ 2019-06-17 17:08 夏沫忆香 阅读(1992) 评论(0) 推荐(0)
摘要: PHP提取字符串中的数字,摘自网络。第一种方法,使用正则表达式: 第二种方法,使用in_array方法: 第三种方法,使用is_numeric函数: 阅读全文
posted @ 2019-06-17 17:07 夏沫忆香 阅读(4954) 评论(0) 推荐(0)
摘要: 获得页面执行时间 阅读全文
posted @ 2019-06-17 17:05 夏沫忆香 阅读(384) 评论(0) 推荐(0)
摘要: 此方法主要用于计算两个时间长度的有效数,比如,*年*月*日*时*分*秒,月份采用30天为一月,年采用365天为一年,计算有些许出入。 阅读全文
posted @ 2019-06-17 17:04 夏沫忆香 阅读(2651) 评论(0) 推荐(0)
摘要: function get_letter($string) { $charlist = mb_str_split($string); return implode(array_map("getfirstchar", $charlist)); } function mb_str_split($string) { // Split at all position not af... 阅读全文
posted @ 2019-06-17 17:03 夏沫忆香 阅读(560) 评论(0) 推荐(0)
摘要: PHP的函数getimagesize可以得到图片的宽高等信息 返回一个具有四个单元的数组。索引 0 包含图像宽度的像素值,索引 1 包含图像高度的像素值。索引 2 是图像类型的标记:1 = GIF,2 = JPG,3 = PNG,4 = SWF,5 = PSD,6 = BMP,7 = TIFF(in 阅读全文
posted @ 2019-06-17 17:02 夏沫忆香 阅读(1710) 评论(0) 推荐(0)
摘要: function ToChinaseNum($num) { $char = array("零","一","二","三","四","五","六","七","八","九"); $dw = array("","十","百","千","万","亿","兆"); $re 阅读全文
posted @ 2019-06-17 17:02 夏沫忆香 阅读(269) 评论(0) 推荐(0)
摘要: /** * 获取客户端浏览器类型 * @param string $glue 浏览器类型和版本号之间的连接符 * @return string|array 传递连接符则连接浏览器类型和版本号返回字符串否则直接返回数组 false为未知浏览器类型 */ function get_client_browser($glue = null) { $browser = array(); ... 阅读全文
posted @ 2019-06-17 17:00 夏沫忆香 阅读(575) 评论(0) 推荐(0)
摘要: /** * 将返回的数据集转换成树 * @param array $list 数据集 * @param string $pk 主键 * @param string $pid 父节点名称 * @param string $child 子节点名称 * @param integer $root 根节点ID * @return array ... 阅读全文
posted @ 2019-06-17 17:00 夏沫忆香 阅读(402) 评论(0) 推荐(0)
摘要: /** * 检测字符串是否为UTF8编码 * @param string $str 被检测的字符串 * @return boolean */ function is_utf8($str){ $len = strlen($str); for($i = 0; $i 128) { if (($c > 247)) return fal... 阅读全文
posted @ 2019-06-17 16:59 夏沫忆香 阅读(682) 评论(0) 推荐(0)
摘要: InnoDB和MyISAM是许多人在使用MySQL时最常用的两个表类型,这两个表类型各有优劣,视具体应用而定。基本的差别为:MyISAM类型不支持事务处理等高级处理,而InnoDB类型支持。MyISAM类型的表强调的是性能,其执行数度比InnoDB类型更快,但是不提供事务支持,而InnoDB提供事务 阅读全文
posted @ 2019-06-17 16:25 夏沫忆香 阅读(556) 评论(0) 推荐(0)
摘要: 总结一: 1.数据类型 Redis数据类型丰富,支持set list等类型 memcache支持简单数据类型,需要客户端自己处理复杂对象 2.持久性 redis支持数据落地持久化存储 memcache不支持数据持久存储 3.分布式存储 redis支持master-slave复制模式 memcache 阅读全文
posted @ 2019-06-17 16:25 夏沫忆香 阅读(901) 评论(0) 推荐(0)
摘要: Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。 本篇文章,主要介绍利用PHP使用Redis,主要的应用场景。 简单字符串缓存实战 $redis->connect('127.0.0.1', 6379);$str 阅读全文
posted @ 2019-06-17 16:17 夏沫忆香 阅读(849) 评论(0) 推荐(0)
摘要: 1。__construct()实例化对象时被调用,当__construct和以类名为函数名的函数同时存在时,__construct将被调用,另一个不被调用。 2。__destruct()当删除一个对象或对象操作终止时被调用。 3。__call()对象调用某个方法,若方法存在,则直接调用;若不存在,则 阅读全文
posted @ 2019-06-17 15:07 夏沫忆香 阅读(288) 评论(0) 推荐(0)
摘要: 1. get是从服务器上获取数据,post是向服务器传送数据。2. get是把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内各个字段一一对应,在URL中可以看到。post是通过HTTP post机制,将表单内各个字段与其内容放置在HTML HEADER内一起传送到ACTION属 阅读全文
posted @ 2019-06-17 15:06 夏沫忆香 阅读(202) 评论(0) 推荐(0)
摘要: echo可以一次输出多个值,多个值之间用逗号分隔。echo是语言结构(language construct),而并不是真正的函数,因此不能作为表达式的一部分使用。echo是php的内部指令,不是函数,无返回值。 print():函数print()打印一个值(它的参数),如果字符串成功显示则返回tru 阅读全文
posted @ 2019-06-17 15:05 夏沫忆香 阅读(2973) 评论(0) 推荐(0)
摘要: 1、优点: a)可以保证数据库表中每一行的数据的唯一性b)可以大大加快数据的索引速度c)加速表与表之间的连接,物别是在实现数据的参考完事性方面特别有意义d)在使用分组和排序子句进行数据检索时,同样可以显著减少查询中分组和排序的时间f)通过使用索引,可以在时间查询的过程中,使用优化隐藏器,提高系统的性 阅读全文
posted @ 2019-06-17 15:05 夏沫忆香 阅读(7721) 评论(0) 推荐(0)
摘要: 核心思想是:视图和用户交互通过事件导致控制器改变 控制器改变导致模型改变 或者控制器同时改变两者 模型改变 导致视图改变 或者视图改变 潜在的从模型里面获得参数 来改变自己。他的好处是可以将界面和业务逻辑分离。 Model(模型),是程序的主体部分,主要包含业务数据和业务逻辑。在模型层,还会涉及到用 阅读全文
posted @ 2019-06-17 15:04 夏沫忆香 阅读(530) 评论(0) 推荐(0)
摘要: 1、cookie数据存放在第三方应用的浏览器上,session数据放在服务器上。 2、cookie不是很安全,别人可以分析存放在本地的COOKIE,进行COOKIE欺骗,考虑到安全应当使用session。 3、session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能,考虑到减 阅读全文
posted @ 2019-06-17 15:04 夏沫忆香 阅读(2079) 评论(0) 推荐(0)
摘要: 从低成本、高性能和高扩张性的角度来说有如下处理方案: 1、HTML静态化 其实大家都知道,效率最高、消耗最小的就是纯静态化的html页面,所以我们尽可能使我们的 网站上的页面采用静态页面来实现,这个最简单的方法其实也是最有效的方法。 2、图片服务器分离 把图片单独存储,尽量减少图片等大流量的开销,可 阅读全文
posted @ 2019-06-17 15:00 夏沫忆香 阅读(2892) 评论(0) 推荐(0)
摘要: 第三方登陆主要是基于author协议来实现,下面简单说下实现流程: 1、首先我们需要以开发者的身份向第三方登陆平台申请接入应用,申请成功后,我们会获得一个appID和一个secrectID.2、当我们的网站需接入第三方登陆时,会引导用户跳转到第三方的登陆授权页面,此时把之前申请的appID和secr 阅读全文
posted @ 2019-06-17 14:59 夏沫忆香 阅读(826) 评论(0) 推荐(0)
摘要: 购物车相当于现实中超市的购物车,不同的是一个是实体车,一个是虚拟车而已。用户可以在购物网站的不同页面之间跳转,以选购自己喜爱的商品,点击购买时,该商品就自动保存到你的购物车中,重复选购后,最后将选中的所有商品放在购物车中统一到付款台结账,这也是尽量让客户体验到现实生活中购物的感觉。服务器通过追踪每个 阅读全文
posted @ 2019-06-17 14:29 夏沫忆香 阅读(344) 评论(0) 推荐(0)
摘要: 抢购、秒杀是如今很常见的一个应用场景,主要需要解决的问题有两个: 1 高并发对数据库产生的压力 2 竞争状态下如何解决库存的正确减少("超卖"问题) 对于第一个问题,已经很容易想到用缓存来处理抢购,避免直接操作数据库,例如使用Redis。第二个问题,我们可以使用redis队列来完成,把要秒杀的商品放 阅读全文
posted @ 2019-06-17 14:26 夏沫忆香 阅读(1124) 评论(0) 推荐(0)
摘要: php+redis消息队列是php+mysql性能不足时的一个中间间处理方案。通过这个中间的处理,保证的数据的可用性和准确性。用于服务器瞬间请求大,数据库压力大的情况。如并发量大导致的超卖、并发量大导致的数据重复情况。 流程:php接受请求和数据 -> php把数据写入redis队列中(入队) -> 阅读全文
posted @ 2019-06-17 14:22 夏沫忆香 阅读(474) 评论(0) 推荐(0)
摘要: 1,安装Redis,根据自己的PHP版本安装对应的redis扩展(此步骤简单的描述一下) 1.1,安装 php_igbinary.dll,php_redis.dll扩展此处需要注意你的php版本如图: 1.2,php.ini文件新增 extension=php_igbinary.dll;extens 阅读全文
posted @ 2019-06-17 14:15 夏沫忆香 阅读(1090) 评论(0) 推荐(0)
摘要: 参考:http://www.cnblogs.com/lisqiong/p/6039460.html 参考:http://blog.csdn.net/shaobingj126/article/details/50585035 消息队列:是在消息的传输过程中保存消息的容器。消息队列管理器在将消息从它的源 阅读全文
posted @ 2019-06-17 14:09 夏沫忆香 阅读(6615) 评论(0) 推荐(1)
摘要: 实现功能: 1. 基于redis队列,防止高并发的超卖 2. 基于mysql的事务加排它锁,防止高并发的超卖 基于redis队列工作流程: 1. 管理员根据goods表中的库存,创建redis商品库存队列 2. 客户端访问秒杀API 3. web服务器先从redis的商品库存队列中查询剩余库存重点内 阅读全文
posted @ 2019-06-17 14:08 夏沫忆香 阅读(1143) 评论(0) 推荐(0)
摘要: 将请求存入redis 为了模拟多个用户的请求,使用一个for循环替代 在后台进行数据处理 守护进程 转载:http://www.cnblogs.com/719907411hl/p/6916601.html 阅读全文
posted @ 2019-06-17 14:04 夏沫忆香 阅读(4611) 评论(0) 推荐(0)
摘要: 长连接是什么? 朋友们应该都见过很多在线聊天工具和网页在线聊天的工具。学校内有一种熟悉的功能,如果有人回复你了,网站会马上出现提示,此时你并没有刷新页面;Gmail也有此功能,如果邮箱里收到了新的邮件,网站会马上提醒你,即使你的网页一直未刷新过。说到这里大家肯定不陌生,就是复用一个链接持续不断的进行 阅读全文
posted @ 2019-06-17 11:27 夏沫忆香 阅读(4485) 评论(0) 推荐(1)
摘要: 依据第二种算法,URL长连接转短连接实现方法如下: 语言:PHP5.6 服务器环境:LNMP 假设:长连接地址:http://www.test.com/index.php 短连接地址:http://t.test.com/六位code码 第一步:利用shortUrl()函数,生成短连接Code码,并将 阅读全文
posted @ 2019-06-17 11:26 夏沫忆香 阅读(1017) 评论(0) 推荐(0)
摘要: 参考自: http://www.cnblogs.com/qulinke/articles/6003049.html https://segmentfault.com/q/1010000005788476 总而言之:session共享的关键技术点在于两点: 1. 让客户端访问同一个sessionId, 阅读全文
posted @ 2019-06-17 10:31 夏沫忆香 阅读(526) 评论(0) 推荐(0)
摘要: 要让session跨域共享,需要解决三个问题: 1、通过什么方法来传递session_id? 2、通过什么方法来保存session信息? 3、通过什么方法来进行跨域? 一、传递session_id有4种方法 1、 通过cookie 2、 设置php.ini中的session.use_trans_si 阅读全文
posted @ 2019-06-17 10:28 夏沫忆香 阅读(4723) 评论(0) 推荐(0)
摘要: 作者:zhuqz链接:https://www.zhihu.com/question/19719997/answer/81930332来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 很多人第一反应是各种切分;我给的顺序是:第一优化你的sql和索引; 第二加缓存,memc 阅读全文
posted @ 2019-06-17 10:24 夏沫忆香 阅读(1094) 评论(0) 推荐(0)
摘要: mysql_escape_string(strip_tags($arr)) 阅读全文
posted @ 2019-06-17 10:19 夏沫忆香 阅读(332) 评论(0) 推荐(0)
摘要: MYSQL性能优化之分库分表与不停机修改mysql表结构,需要的朋友可以参考下 1、分库分表 很明显,一个主表(也就是很重要的表,例如用户表)无限制的增长势必严重影响性能,分库与分表是一个很不错的解决途径,也就是性能优化途径,现在的案例是我们有一个1000多万条记录的用户表members,查询起来非 阅读全文
posted @ 2019-06-17 10:15 夏沫忆香 阅读(323) 评论(0) 推荐(0)
摘要: 分表是分散数据库压力的好方法。 分表,最直白的意思,就是将一个表结构分为多个表,然后,可以再同一个库里,也可以放到不同的库。 当然,首先要知道什么情况下,才需要分表。个人觉得单表记录条数达到百万到千万级别时就要使用分表了。 1,分表的分类 1>纵向分表 将本来可以在同一个表的内容,人为划分为多个表。 阅读全文
posted @ 2019-06-17 10:10 夏沫忆香 阅读(194) 评论(0) 推荐(0)
摘要: 网 上有不少mysql 性能优化方案,不过,mysql的优化同sql server相比,更为麻烦与复杂,同样的设置,在不同的环境下 ,由于内存,访问量,读写频率,数据差异等等情况,可能会出现不同的结果,因此简单地根据某个给出方案来配置mysql是行不通的,最好能使用 status信息对mysql进行 阅读全文
posted @ 2019-06-17 09:57 夏沫忆香 阅读(3682) 评论(0) 推荐(0)
摘要: 1、选取最适用的字段属性 MySQL可以很好的支持大数据量的存取,但是一般说来,数据库中的表越小,在它上面执行的查询也就会越快。因此,在创建表的时候,为了获得更好的性能,我们可以将表中字段的宽度设得尽可能小。例如,在定义邮政编码这个字段时,如果将其设置为CHAR(255),显然给数据库增加了不必要的 阅读全文
posted @ 2019-06-17 09:50 夏沫忆香 阅读(4465) 评论(0) 推荐(1)
摘要: 1、应尽量避免在 where 子句中使用!=或<>操作符,否则将引擎放弃使用索引而进行全表扫描。 2、对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。 3、应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引 阅读全文
posted @ 2019-06-17 09:50 夏沫忆香 阅读(382) 评论(0) 推荐(0)