PHP 杂谈《重构-改善既有代码的设计》之二 对象之间搬移特性 2017年02月06日 29 阅读 思维导图 索引:ØMove Method(搬移函数)Ø Move Field (搬移值域)Ø Extract Class (提炼类)Ø Inline Class (将类内联化,就是把当前的类合并到其他类中)Ø Hide Delegate (隐藏委托关系)Ø Remove Middle Man ( 移除中间人)Ø Introduce Foreign Method...
PHP 杂谈《重构-改善既有代码的设计》之三 重新组织数据 2017年02月06日 31 阅读 思维导图 介绍 承接上文的PHP 杂谈《重构-改善既有代码的设计》之 重新组织你的函数继续重构方面的内容。这章主要针对数据的重构。1、争论的声音——直接访问Field还是通过函数(Accessor)访问Field2.修改Array为Object:当你看到一个Array很像一个数据结构,你可以使用Replace Array with Object,把Array变成一个对象。——数据结构更清晰。专业术语accessor:访问者,存储器——在本文翻译为“函数”d...
PHP 杂谈《重构-改善既有代码的设计》之四 简化条件表达式 2017年02月06日 30 阅读 思维导图 点击下图,查看大图。 介绍条件逻辑有可能十分复杂,因此本章提供一些重构的手法,专门用来简化它们。全文简述(你可直接跳过下面的内容) 核心重构:Decompose Conditional——分离”转辙逻辑“(switching logic)和”操作细节“(details)分离。 多处测试有相同结果:Consolidate Conditional Expresssion 条件代码中去掉重复成分:Consolidate Duplicate 标识...
比较好用的PHP防注入漏洞过滤函数代码 2017年02月06日 36 阅读 复制代码 代码如下: <?PHP //PHP整站防注入程序,需要在公共文件中require_once本文件 //判断magic_quotes_gpc状态 if (@get_magic_quotes_gpc ()) { $_GET = sec ( $_GET ); $_POST = sec ( $_POST ); $_COOKIE = sec ( $_COOKIE ); $_FILES = sec ( $_FILES ); } $_SERVER = s...
PHP得到某段时间区间的时间戳 php定时任务 2017年02月06日 28 阅读 这两天要实现这样功能: 当达到某一条件时,让服务器发短信给用户,数量为多条。 基本思路:linux 定时扫描,若有满足条件的用户,则发送短信。 但为了防止打扰到用户,要求只能在白天8:00-20:00发送短信,怎么样获得到每天的这段时间区间? 请看 复制代码 代码如下: $y=date("Y",time()); $m=date("m",time()); $d=date("d",time()); $start_time = mktime(9, 0, 0, $...
redis 队列操作的例子(php) 2017年02月06日 30 阅读 入队操作 复制代码 代码如下: <?php $redis = new Redis(); $redis->connect("127.0.0.1",6379); while(True){ try{ $value = "value_".date("Y-m-d H:i:s"); $redis->LPUSH("key1",$value); sleep(rand()%3); echo $value." "; }catch(Exception $e){...
php递归创建和删除文件夹的代码小结 2017年02月06日 30 阅读 第一种方法: 复制代码 代码如下: <?php /** * 目录生成类 :UtilsMakeDir * @author yepeng * @since 2010.3.18 */ class UtilsMakeDir{ //基目录 建立目录时不会对这个目录进行建立。这应该是个已经存在的目录 private static $makeBasePath = "video"; private static $delBasePath = "video"; /**...
php和mysql中uft-8中文编码乱码的几种解决办法 2017年02月06日 31 阅读 PHP页面转UTF-8编码问题 1.在代码开始出加入一行: 复制代码 代码如下: header("Content-Type: text/html;charset=utf-8"); 2.PHP文件编码问题 点击编辑器的菜单:“文件”->“另存为”,可以看到当前文件的编码,确保文件编码为:UTF-8, 如果是ANSI,需要将编码改成:UTF-8。 3.PHP文件头BOM问题: PHP文件一定不可以有BOM标签 否则,会出现session不能使用的情况,...
php开发分页实现代码第1/3页 2017年02月06日 31 阅读 项目结构:运行效果:conn.php 复制代码 代码如下: <?php $conn = @ mysql_connect("localhost", "root", "") or die("数据库链接错误"); mysql_select_db("form", $conn); mysql_query("set names "GBK""); //使用GBK中文编码; //替换空格,回车键 function htmtocode($content) { $con...
php开发留言板的CRUD(增,删,改,查)操作 2017年02月06日 29 阅读 项目结构:添加页面: 说明:这里只注重操作,对界面的美工没有下工夫,希望大家理解......列表页面:修改页面:项目中所需的sql: 复制代码 代码如下: create database form; use form; CREATE TABLE `message` ( `id` tinyint(1) NOT NULL auto_increment, `user` varchar(25) NOT NULL, `title` varchar(50) NOT N...
php 文件上传实例代码 2017年02月06日 31 阅读 项目结构:上传首页:上传效果:fileupload.php 复制代码 代码如下: <form action="" enctype="multipart/form-data" method="post" name="uploadfile">上传文件:<input type="file" name="upfile" /><br> <input type="submit" value="上传" /></for...
洪恩在线成语词典小偷程序php版 2017年02月06日 27 阅读 主要函数是file_get_contents,主程序分两段,跟我一起看过来吧(凡人博客原创代码,转载请注明)。 复制代码 代码如下: function escape($str){ preg_match_all("/[x80-xff].|[x01-x7f]+/",$str,$r); $ar = $r[0]; foreach($ar as $k=>$v){ if(ord($v[0]) < 128) $ar[$k] = rawurlencode($v...
php入门之连接mysql数据库的一个类 2017年02月06日 29 阅读 项目结构:运行效果;conn.php 复制代码 代码如下: <?php class ConnectionMySQL{ //主机 private $host="localhost"; //数据库的username private $name="root"; //数据库的password private $pass=""; //数据库名称 private $table="phptest"; //编码形式 private $ut="utf-8"; //构造...
php 多关键字 高亮显示实现代码 2017年02月06日 32 阅读 项目结构:开始搜索: 这里搜索关键字("大""这")搜索结果: 高亮显示项目所需数据库结构:实现代码: conn.php 复制代码 代码如下: <?php $conn = @ mysql_connect("localhost", "root", "") or die("数据库链接错误"); mysql_select_db("form", $conn); mysql_query("set names "gbk""); ?> searchAndD...
PHPMYADMIN导入数据最大为2M的解决方法 2017年02月06日 27 阅读 PHPMYADMIN是经常使用的一个MySql管理工具,备份和还原是PHPMYADMIN的重要功能,在还原数据库的时候经常遇到这样的一个情况:PHPMYADMIN还原数据库的时候上传的最大限制:2,048 KB,数据库稍微大一些就无法处理,要么使用其他的备份还原工具如帝国备份王,要么就分卷导出,那么有没有办法还使用PHPMYADMIN来处理呢?肯定可以的,根据下面的步骤来吧。 以WINDOWS2003系统为例,共分为三部分:IIS部分、PHP部分和PHPM...
php中邮箱地址正则表达式实现与详解 2017年02月06日 34 阅读 首先附上代码 复制代码 代码如下: ^[_.0-9a-z-]+@([0-9a-z][0-9a-z-]+.)+[a-z]{2,3}$ 在这段正则表达式中,“+”表示前面的字符串连续出现一个或多个;“^”表示下一个字符串必须出现在开头,“$”表示前一个字符串必须出现在结尾; “.”也就是“.”,这里“”是转义符;“{2,3}”表示前面的字符串可以连续出现2-3次。“()”表示包含的内容必须同时出现在目标对象中。“[_.0-9a-z-]”表示包含在“_”、“....
PHP的几个常用数字判断函数代码 2017年02月06日 31 阅读 复制代码 代码如下: <HTML> <HEAD> <TITLE>常用的数值判断函数</TITLE> </HEAD> <BODY> <? //判断数组 $colors = array("red", "blue", "green"); if(is_array($colors)) { print("colors is an array"."<br>"); } //双精度数判...
介绍一些PHP判断变量的函数 2017年02月06日 30 阅读 虽然这一特点使用PHP编程非常容易,但它也存在一个重要的缺陷:当你需要测试一个变量的类型时,处理类型比较松散的语言就让人有些迷惑。幸运地是,PHP的开发者注意到这一情况,因此在其中包含了一个函数工具包,特别用它来测试变量并查明它们属于哪个特定的字符类别——也就是说,它们是否包含字符串、整数、对象或布尔值。 下面列出了这一类别中较为有用的函数,并提供说明与应用实例。 empty($var) 这个函数用来检查变量是否为空(没有值或零值)。用此函数来检查用户输入...
php判断变量类型常用方法 2017年02月06日 29 阅读 现在让我们了解下具体的使用方法 gettype() gettype 会根据 参数类型返回下列值 “boolean”(从 PHP 4 起) “integer” “double”(如果是 float 则返回“double”,而不是“float”) “string” “array” “object” “resource”(从 PHP 4 起) “NULL”(从 PHP 4 起) “unknown type” 例如: gettype("1");返回的是string...
iis下php mail函数的sendmail配置方法(官方推荐) 2017年02月06日 30 阅读 首先你需要先到从http://glob.com.au/sendmail/下载sendmail.zip文件,点此可以直接下载噢,然后把它解压到如D:phpsendmail目录下。 然后打开php.ini文件,找到下面这段代码 复制代码 代码如下: [mail function] ; For Win32 only. SMTP = localhost smtp_port = 25 ; For Win32 only. ;sendmail_from = me@exa...