在上一篇文章 << Content-MD5字段 >> 中我们有提到MD5算法,此处MD5算法的作用是验证文件的完整性,这与MD5算法开始的应用场景是一致的,即在90年代被广泛使用在各种程序语言中,用以确保资料传递无误。 MD5即Message-Digest Algorithm 5(信息-摘要算法 5)。 MD5算法是一种消息摘要算法,以任意长度的信息作为输入…
一日,遇到一个问题,求上一个月的今天。 最开始我们使用 strtotime("-1 month") 函数求值,发现有一个问题,月长度不一样的月份的计算结果有误。 比如:2011-03-31,得到的结果是2011-03-03。我们先不追究什么问题,先看如何解决问题。 此时,想起PHP中有一个mktime函数,于是自己写了如下代码: echo date ( "Y…
当我们学第一门语言时,比如大学课程中的C语言程序设计,也许曾经被前缀自增(++i) 和后缀自增 (i++)纠结过。 曾经以为我们懂了: i++ :先引用后增加,先在i所在的表达式中使用i的当前值,后让i加1 ++i :先增加后引用,让i先加1,然后在i所在的表达式中使用i的新值 这个表达基本没错,只能说不够精确。在《Expert C Programming》…
数据库抽象层和Doctrine DBAL 源码简单分析 【概述】 数据库抽象层,顾名思义,将数据库抽象出来,作为一个独立的层存在。它存在的作用是当从一个数据库系统向另一个数据库系统迁移时,几乎不用更改太多的程序代码或者只是改一下配置文件,其它的工作都会交给数据库抽象层去做。数据库抽象层会根据使用的数据库自动调整,这样会提高开发效率,但是由于数据库抽象层是在数…
PHP中的urlencode,rawurlencode和JS中的encodeURI,encodeURIComponent 【PHP中的urlencode和rawurlencode】 urlencode之前有看过其源码实现 PHP 源码阅读笔记二十三 :urlencode函数 二都的区别仅在" "空格上,rawurlencode()会把空格编码为%20,而ur…
上周,vsgeping跟我讨论一个问题,关于PHP页面在显示时,仅显示了一部分,一开始我以为是缓冲的问题,即内容被写到stdout后,没有输出到浏览器。纠结了许久 然后在周末时,忽然想起前段时间由于json版本的问题也导致了类似情况的出现,于是怀疑是程序在那个点就停止了,或者说是报错了,程序由于关闭了报错,于是就没有了内容。 有代码,有真相 看如下的一个例子…
在烂叶的blog上看到一篇关于百度招聘的一道题 地址: 百度招聘的一道试题 有些兴趣,自己实现了下,使用了类蒙地卡罗方法实现。 【题目】 2009百度实习笔试题 要求用PHP,shell或c完成 输入:N(整数) 输入:数据文件A.txt,不超过6条记录,字符串长度不超过15个字节 文件格式如下: 字符串\t数字\n 说明: 每行为1条记录;字符串中不含有\…
PHP5.2.0之前版本使用JSON函数的方法 我们知道PHP在其版本5.2.0之后才支持 JSON相关函数,在此版本之前如果我们要使用JSON函数则需要自己实现 JSON的算法已经有人实现了,其下载地址为:http://pear.php.net/pepr/pepr-proposal-show.php?id=198 但是它是一个类这与我们的使用习惯不同,于是…