摘要: 转载自:http://www.cnblogs.com/hustcat/archive/2009/10/28/1591648.html 写在前面:索引对查询的速度有着至关重要的影响,理解索引也是进行数据库性能调优的起点。考虑如下情况,假设数据库中一个表有10^6条记录,DBMS的页面大小为4K,并存储100条记录。如果没有索引,查询将对整个表进行扫描,最坏的情况下,如果所有数据页都不在内存,需要读取10^4个页面,如果这10^4个页面在磁盘上随机分布,需要进行10^4次I/O,假设磁盘每次I/O时间为10ms(忽略数据传输时间),则总共需要100s(但实际上要好很多很多)。如果对之建立B-... 阅读全文
posted @ 2012-06-11 23:32 曾是土木人 阅读(663) 评论(1) 推荐(2) 编辑
摘要: 对于PHP程序员来说,最为难掌握的一点要数PHP抽象类应用这一块知识点。作为一个新手其实也还没有到要用面向对象的知识去编程,但以后进行开发,使用类进行封装或者使用接口之类,把程序进行各种模块式的开发,这当然是必然的。在自然语言中,我们理解抽象的概念是,一个物体的一种大的描述,这种描述对某类物体来说是共有的特性。那么在PHP中也是一样的,我们把一个类进行抽象,可以指明类的一般行为,这个类应该是一个模板,它指示它的子方法必须要实现的一些行为。PHP抽象类应用的定义:abstract class ClassName{}PHP抽象类应用要点: 1.定义一些方法,子类必须完全实现这个抽象中所有的方法 . 阅读全文
posted @ 2012-06-10 22:59 曾是土木人 阅读(9832) 评论(0) 推荐(2) 编辑
摘要: <?php try { $a=10/0; }catch (Exception $e){ echo "抛出异常"; }?>以上代码,并不会输出“抛出异常”,而是输出了错误信息:Warning: Division by zero in......说明:try块中并没有抛出异常,而是按照系统默认的错误处理机制进行处理所以能不能捕获到异常,取决于有没有真正的抛出异常 阅读全文
posted @ 2012-06-10 22:11 曾是土木人 阅读(619) 评论(3) 推荐(0) 编辑
摘要: php对异常的处理与java一样,用到的是try{}catch(){}定义顶级异常处理器用到的函数是set_exception_handler("My_exception");这里的My_expection是开发者自定义的异常处理函数,既顶级异常处理器,只有当程序中没有函数来处理异常才有顶级异常处理器来处理异常,如果没有定义顶级异常处理器,则由系统默认的异常处理器来处理异常举例说明:<meta http-equiv="content-type" content="text/html;charset=utf-8" />< 阅读全文
posted @ 2012-06-10 21:50 曾是土木人 阅读(637) 评论(0) 推荐(0) 编辑
摘要: 1、首先php5提供了基本的异常处理类,可直接使用<?phpclass Exception{ protected $message = 'Unknown exception'; // 异常信息 protected $code = 0; // 用户自定义异常代码 protected $file; // 发生异常的文件名 protected $line; // 发生异常的代码行号 function __const... 阅读全文
posted @ 2012-06-10 21:19 曾是土木人 阅读(2159) 评论(0) 推荐(0) 编辑
摘要: 定义和用法 set_error_handler() 函数设置用户自定义的错误处理函数该函数用于创建运行时期间的用户自己的错误处理方法。该函数会返回旧的错误处理程序,若失败,则返回 null。语法 set_error_handler(error_function,error_types)参数 描述 error_function 必需,规定发生错误时运行的函数。error_types 可选。规定在哪个错误报告级别会显示用户定义的错误。默认是 "E_ALL"。提示和注释提示:如果使用了该函数,会完全绕过标准的 PHP 错误处理函数,如果必要,用户定义的错误处理程序必须终止 (di 阅读全文
posted @ 2012-06-10 16:46 曾是土木人 阅读(224) 评论(0) 推荐(0) 编辑
摘要: ]转载自:http://www.cnblogs.com/cnbeir/archive/2012/05/05/2484635.html在编写php程序时,错误处理是一个重要的部分。如果程序中缺少错误检测代码,那么看上去很不专业,也为安全风险敞开了大门例:<?php $a = fopen('test.txt','r'); //这里并没有对文件进行判断就打开了,如果文件不存在就会报错?> 那么正确的写法应该如下:<?php if(file_exists('test.txt')){ $f=fopen('test.txt' 阅读全文
posted @ 2012-06-10 16:09 曾是土木人 阅读(1591) 评论(0) 推荐(2) 编辑
摘要: Apache根目录下的子目录说明:Apache的各种功能特性主要是由配置文件httpd.conf决定的。配置文件的语法\ 配置文件都是使用Linux的脚本风格。以“#”作为注释符,以反斜杠“\”作为续行符号。文件的每一行包含一个指令,告诉Apache服务器以某种特定的方式完成某一项特定的任务。 配置文件中的指令是不区分大小写的,但指令的参数通常是大小写敏感的。Apache是模块化的服务器,想要扩展新功能可以作为模块动态加载。 动态加载的指令:LoadModule 有效范围:整个Apache服务器 例子:LoadModule rewrite_module modules/mod_rew... 阅读全文
posted @ 2012-06-10 12:03 曾是土木人 阅读(1703) 评论(0) 推荐(0) 编辑
摘要: ZendFramework是基于PHP5的一个开源,面向对象的Web应用框架。当前最新的的版本是ZendFramework1.7,其中MVC组件已经相当成熟。到底什么是MVC?MVC是Model-View-Controller的缩写,即模型-视图-控制器。它是XeroxPARC在20世纪80年代为编... 阅读全文
posted @ 2012-06-09 21:56 曾是土木人 阅读(635) 评论(0) 推荐(0) 编辑
摘要: 本文来自:http://gonefish.info/blog/?page_id=461在该系列的第一部分中,简要介绍了Zend_Controller的相关组件,在第二部分的我们将详细介绍相关组件是怎样工作的,并结合源代码进行一些讲解。讲解源代码的版本是ZendFramework1.7,但由于Zend_Controller已经相当的稳定,本文的讲解可以适用于1.X分支,如发现有差别,可查阅官方的从以前的版本移植章节。如不特殊说明,本文所有内容仅针对HTTP。Zend_Controller的工作流程涉及到四个相关的组件:Zend_Controller_Router、Zend_Controller_ 阅读全文
posted @ 2012-06-09 21:55 曾是土木人 阅读(220) 评论(0) 推荐(0) 编辑
摘要: 本文来自:http://gonefish.info/blog/?page_id=461在该系列的第一部分中,简要介绍了Zend_Controller的相关组件,在第二部分的我们将详细介绍相关组件是怎样工作的,并结合源代码进行一些讲解。讲解源代码的版本是ZendFramework1.7,但由于Zend... 阅读全文
posted @ 2012-06-09 21:53 曾是土木人 阅读(293) 评论(0) 推荐(0) 编辑
摘要: 获得当前日期+时间(date+time)1.1函数:now()相关函数:current_timestamp(),localtime(),localtimestamp()举例说明:2.获得当前日期(date)函数:curdate()相关函数:current_date(),current_date举例说明:3.获得当前时间(time)函数:curtime()相关函数:current_time(),current_time举例说明4.MySQLdayof…函数:dayofweek(),dayofmonth(),dayofyear()分别返回日期参数,在一周、一月、一年中的位置。举例说明set@dt= 阅读全文
posted @ 2012-06-09 21:51 曾是土木人 阅读(455) 评论(0) 推荐(0) 编辑
摘要: MySQL中的UNIX_TIMESTAMP函数有两种类型供调用1无参数调用:UNIX_TIMESTAMP()返回值:自'1970-01-0100:00:00'的到当前时间的秒数差例子:SELECTUNIX_TIMESTAMP()=>13391234152有参数调用:UNIX_TIMESTAMP(date)其中date可以是一个DATE字符串,一个DATETIME字符串,一个TIMESTAMP或者一个当地时间的YYMMDD或YYYMMDD格式的数字返回值:自'1970-01-0100:00:00'与指定时间的秒数差举例说明:DATE字符串格式:(日期类型)S 阅读全文
posted @ 2012-06-09 21:49 曾是土木人 阅读(466) 评论(0) 推荐(0) 编辑
摘要: IE火狐(FF)id后缀名php识别出的文件类型0gifimage/gif1jpgimage/jpeg2pngimage/png3bmpimage/bmp4psdapplication/octet-stream5icoimage/x-icon6rarapplication/octet-stream7zipapplication/zip87zapplication/octet-stream9exeapplication/octet-stream10avivideo/avi11rmvbapplication/vnd.rn-realmedia-vbr123gpapplication/octet-st 阅读全文
posted @ 2012-06-08 12:48 曾是土木人 阅读(2109) 评论(0) 推荐(0) 编辑
摘要: 问题:①如何控制用户上传的文件类型②如何控制用户上传的文件大小③如何防止用户覆盖图片问题④如何防止同一个用户上传的文件名相冲突问题解答:①可以通过PHP全局数组$_FILES['myfile']['type']来判断上传的文件类型②可以通过PHP全局数组$_FILES['myfile']['size']来判断上传的文件大小③可以根据用户输入的用户名来动态创建文件夹③通过time(),rand(),生成的数字来给文件命名就可以解决文件名冲突问题PHP Codes: 1 <?php 2 echo "<pre> 阅读全文
posted @ 2012-06-08 12:48 曾是土木人 阅读(1130) 评论(0) 推荐(1) 编辑