摘要:
在做前端开发时,我们需要用到一些调试工具用来调试我们的HTML、CSS或者JS代码,俗话说预先善其事必先利其器,这里我给大家推荐几款比较常用的前端调试工具。 1、Chrome的开发者工具 这是我现在用的最多的一个浏览器调试工具,在经过了几个版本的更新,其调试功能也日渐强大。在打开Chrome后可以通 阅读全文
只有注册用户登录后才能阅读该文。 阅读全文
摘要:
课程表CREATE TABLE [dbo].[demo_Course]( [Cid] [uniqueidentifier] NOT NULL, [CourseName] [varchar](50) NULL, CONSTRAINT [PK_demo_Course] PRIMARY KEY CLUSTERED ( [Cid] ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ... 阅读全文
摘要:
1.概要说明SQLSERVER的表分区功能是为了将一个大表(表中含有非常多条数据)的数据根据某条件(仅限该表的主键)拆分成多个文件存放,以提高查询数据时的效率。创建表分区的主要步骤是1、确定需要以哪一个字段作为分区条件;2、拆分成多少个文件保存该表;3、分区函数(拆分条件);4、分区方案(按拆分函数拆分后需要对应到哪些文件组中去)。下面就一步一步来说明如何创建表分区:2.准备工作创建一个测试表CREATE TABLE Sale( [Id] [int] IDENTITY(1,1) NOT NULL, --自动增长 [Name] [varchar](16) N... 阅读全文
摘要:
当2个库在同一台服务器的情况1 --同一服务器2 3 insertinto dbo.TESTA select*from dbo.TESTB当2个库在不同的服务器的情况 1 /*不同服务器数据库之间的数据操作*/ 2 3 --创建链接服务器 4 exec sp_addlinkedserver 'ITSV ', ' ', 'SQLOLEDB ', '远程服务器名或ip地址 ' 5 exec sp_addlinkedsrvlogin 'ITSV ', 'false ',null, '用户名 阅读全文
摘要:
这里收集整理了关于PHP面试的题目,也包括一些阿土自己在阅读和学习中碰到的问题的记录,希望对正在求职的你或希望提高PHP能力的你有所帮助。 1.PHP里面是区分大小写的吗? 这是个很不好回答的问题,PHP对于系统函数、用户自定义函数、类名称等是不区分大小写的如可以用EHCO也可以用echo调用显示函数,但对于变量名称又是区分大小写的,如$Name和$NAME是2个不同的变量。而对于文件名... 阅读全文
摘要:
折腾了2天在网上找了不少资料才把PHP的调试环境搭建好,这里总结下搭建的过程及注意事项【环境介绍】操作系统:WIN7WAMP版本:WampServer Version 2.1(Apache2.2.17、PHP5.3.3、MYSQL5.5.8)NETBEANS 版本:NetBeans IDE 7.0 (Build 201104080000)XDEBUG版本:2.1.1(PHP 5.3 VC6 TS (32 bit))备注:XDEBUG官网针对win系统提供了多个版本,每个版本又涉及到VC6、VC9还有带TC的,具体的含义可以通过如何选择PHP版本进一步了解(感谢喵了个咪的对本文提出的建议)【安装 阅读全文
摘要:
首先需要指出的是同样免费的Zend OPtimizer并不是加速器,它能通过纠正常见的效率低下的编码习惯来实现对性能的小幅提升。下面的文章转载自杀客,较详细的介绍了3款加速器的安装及性能对比。一、PHP加速器介绍 PHP加速器是一个为了提高PHP执行效率,从而缓存起PHP的操作码,这样PHP后面执行就不用解析转换了,可以直接调用PHP操作码,这样速度上就提高了不少。 Apache中使用mod_php的请求、响应执行流程:1、Apache接收请求。 2、Apache传递请求给mod_php。 3、mod_php定位磁盘文件,并加载到内存中。 4、mod_php编译源代码成为opcode树。 5、 阅读全文
摘要:
先上个图,来个看图不说话,大家通过这个图能看个大概PHP从5.2.10开始,区分线程安全和非线程安全2个版本。我们就从这两个的区别说起。所谓线程安全(Thread Safe)就是执行时会进行线程安全检查,以防止有新请求时就启动新线程的CGI执行方式耗尽系统资源。非线程安全(None Thread Safe)就是在执行时不进行线程安全检查。PHP在IIS上运行PHP有ISAPI和FastCGI两种形式(如果是wamp,运行方式是FastCGI)。FastCGI执行方式是以单线程来执行的,所以无需进行线程安全检查,IIS7集成了FastCGI,IIS6也支持,如果是采用FastCGI运行PHP,建 阅读全文
摘要:
第一章主要是讲字符串的常用操作,如果你对下面的这些函数都理解了,那么可以跳过此章节。strpos() : 在一个字符串中查找另一个字符串的位置,返回值false或一个数字或是空,需要用===判断 substr() : 从一个字符串中指定起始位置和指定长度的子字符串 substr_replace() : 类似substr(),区别在于是将取得的子字符串用另外一个字符串替换strlen() : 获取字符串的长度。这里是获取字节的长度,对中文来说不适用,中文用mb_strlen() strrev() : 反转原始字符串 array_reverse() : 倒序数组 str_replace() : 非 阅读全文
摘要:
本章介绍了日期常用的函数及经常碰到的处理日期/时间的情景,如计算两个时间的差,还简单的介绍了不同时区间的日期显示问题。对于天文日历计算方面的(儒略日)转换函数,个人认为可以忽略。 strftime() : 根据区域设置setlocal()格式化时间/日期 date() :格式一个本地日期/时间 getdate() : 取得日期/时间(可以指定某时间戳) Retur... 阅读全文
摘要:
第二章主要介绍了PHP如何处理数字,包括了开发中经常使用的小数取舍、数字格式化、大数字处理,同时还用了不少章节介绍科学计算及高精度计算需要用到的函数 is_numeric() : 判断一个变量或值是否是合法的数字类型 abs() : 返回绝对值 round() : 四舍五入 ceil() : 取大 floor() : 取小 range() :... 阅读全文
摘要:
数组是在web开发中经常会用到的部分,所以此章节的内容比较重要 unset() : 销毁一个变量(当然也包括数组) array_pad() : 用值填补指定长度的空缺 array_splice() : 除了可以通过此函数移除数组中的元素,还可以指定另一个数组替换移除的部分 array_merge() : 合并多个数组 array_push() : 在数组末尾添加值 array_map() : 通过一个回调函数处理数组中的多个元素 is_array() : 检测一个变量是否是数组类型array_shift() : 移除数组中的第一个元素 array_pop() : 返回数组中的最后一个元素并将其 阅读全文
摘要:
函数(有些资料会将此翻译成过程,所谓的面向过程开发就是以函数为基础的开发)在面向对象开发(简称OO--Object-Oriented Method)时代之前,是PHP中最重要的一个部分,是代码复用唯一的方法。在OO出现之后(虽然早期PHP版本就已经有OO的身影,但真正引入面向对象主要特性是在PHP5版本之后)两种方法常常会并存于一个项目中,这点和很多面向对象语言(JAVA或ASP.NET等)不太一... 阅读全文
摘要:
虽说在PHP5之前,php就有对面向对象编程方面的支持,但对对象和类的处理不是那么的理想,直到PHP5通过使用Zend Engine2(ZE2)才使PHP得以包含高级的面向对象特性。本章就是介绍PHP5的面向对象特性,目前,很多的公司在招聘PHPer时都会提出对这部分的要求。需要稍微注意一下的地方是本书中文版在new一个对象的时候(Instantiating Objects)翻译为技巧化一个对象,... 阅读全文
摘要:
本章主要介绍了和web相关的一些基础知识如cookie、get请求、post请求、环境变量的读写等内容。setcookie() : 设置cookie值$_COOKIE['名']:获得cookie值浏览器重定向:header('Location: http://www.example.com/confirm.html');get_browser() : 获得浏览器参数 http_build_query() : 将数组转换成查询字符串$vars = array('name' => 'Oscar the Grouch', ' 阅读全文
摘要:
观察者模式(observer)又名发布-订阅(Publish/Subscribe)模式观察者模式是一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态发生变化是,会通知所有的观察者对象,使他们能够自动更新自己。观察者模式的结构图Subject被观察者:定义了被观察者必须实现的职责,它必须能够在运行时添加、取消观察者。一般是抽象类或接口。Observer观察者:定义了在接受到消息后通过update()对接受到的消息进行处理。ConcreteSubject具体的被观察者:继承或实现Subject,定义具体的业务逻辑ConcreteObserver具体的观察者:继承或实现 阅读全文
摘要:
本章的内容可以说是上一章节的延续,因为表单也是web的基础,但同时也是web基础中的重要组成部分。本章重点介绍了表单中可能出现的各项表单元素的验证、文件上传以及相关的安全问题。 $_SERVER['REQUEST_METHOD']:检测请求是GET还是POST 验证email地址是否有效的函数: function is_valid_email_address($email){ ... 阅读全文
摘要:
Session应该算是一个在项目开发中应用的比较多的个功能,用以跟踪用户相关信息的WEB应用程序。相对于cookie来说,可以将session理解为在服务器端保存用户数据的一种方式,不同于cookie的另一个主要特点是session是基于浏览器进程的(就是说1个用户打开2个浏览器窗口,可能会产生2个session)。默认情况下Session是保存在服务器的指定的某个目录下的,具体位置可查看PHP.... 阅读全文
摘要:
什么是XML?XML(eXtensible Markup Language)是国际标准化组织的标准通用标记语言SGML的子集。由以下规范组成:可扩展样式语言(eXtensible Sytle Language , XSL)XML链接语言(XML Linking Language,包括Xpath、Xlink和Xpointer)XML名称空间(XML Namespace)在PHP5之前的版本对XML的处理存在很多的问题,例如XML工具之间只具有简单的关联、每个工具不能一起协同工作等,PHP5中的新XML扩展具有下列特点:能够像一个整体一样协调工作是一个标准化的XML库:libxml2完全遵循W3C 阅读全文
摘要:
本章节主要介绍了如何通过PDO来操作mysql。首先介绍下目前在PHP中操作MYSQL的常用方法有mysql、mysqli、PDO三种。mysql是非持继连接函数而mysqli是永远连接函数(其中的i代表Improvement)。也就是说mysql每次链接都会打开一个连接的进程而mysqli多次运行mysqli将使用同一连接进程,从而减少了服务器的开销。而PDO与前两者有很大的不同,PDO提供了一个数据访问的抽象层,为的是让PHPer能使用同样一种语法来操作不同的数据库。本章节就是以PDO来介绍数据库的操作。而在PHP的世界里,MYSQL是用的最多的一个数据库,所以另外一篇文章介绍了mysql 阅读全文
摘要:
在开发与Internet交互的应用中,往往在本机用apache或IIS搭建了一个测试站点,往往通过localhost和127.0.0.1来访问。但将地址丢到android里面,就会冒出下面的错误11-25 06:07:33.126: WARN/System.err(267): org.apache.http.conn.HttpHostConnectException: Connection to http://127.0.0.1 refused11-25 06:07:33.136: WARN/System.err(267): at org.apache.http.impl.conn.Defau 阅读全文
摘要:
通过GET获得一个指定url的页面内容有3种方式来获取一个URL的内容:PHP提供的文件函数file_get_contents()cURL扩展PEAR中的HTTP_Request类//方式1$page = file_get_contents('http://www.example.com/robots.txt');//方式2$c = curl_init('http://www.example.com/robots.txt');curl_setopt($c, CURLOPT_RETURNTRANSFER, true);$page = curl_exec($c);c 阅读全文
摘要:
目前实现WEB服务比较流行的做法有二种SOAP:(Simple Object Access Protocol,简单对象访问协议)传统的WEB服务解决方案,基于 XML的协议,它被设计成在WEB上交换结构化的和固化的信息。 SOAP可以和现存的许多因特网协议和格式结合使用,包括超文本传输协议(HTTP),简单邮件传输协议(SMTP),多用途网际邮件扩充协议(MIME)。它还支持从消息系统到远程过程调用(RPC)等大量的应用程序。随着SOAP的发展已经越来越复杂,与其名称缩写相违背REST:(Representational State Transfer,表示性状态转移)Roy Fielding 阅读全文
摘要:
实现一个REST的WEB服务 实现一个REST的web服务相对还是比较简单的,用到了HTTP的GET、POST、PUT、DELETE特性。其PHP的处理代码和普通处理POST和GET十分相似 // 转换到大写$request_method = strtoupper($_SERVER['REQUEST_METHOD']);switch ($request_method) {case 'GET':... 阅读全文
摘要:
我用的是WAMP2.1在安装PEAR时报错,折腾了几下终于把PEAR给装上去了,先看一个报的错误: 根据网上的资料,说是运行WAMP安装目录下PHP目录的go-pear.bat批处理文件来进行安装。而WAMPSERVER2.1版的PEAR目录位置稍有不同(可以参考我上图高亮部分)。运行后就出现了上述的错误,表示安装失败。 解决办法是运行下面的语句 E:\wamp\bin\php\p... 阅读全文
摘要:
发送电子邮件 书中主要是以PEAR中的邮件发送类(Mail)来讲解的(关于如何在WIN系统下安装PEAR可以参考WIN下成功安装PEAR)。PEAR的MAIL类可以通过3种方式来发送电子邮件: 通过PHP内部的mail函数来发送 通过sendmail程序来发送 通过直接连接到一个smtp服务器发送邮件 书中主要以第一种方式来讲解,下面贴一个用SMTP发送邮件的例子 ... 阅读全文
摘要:
在写cookbook图像一章的笔记时从官方网站上看到的一个关于imagesetstyle例子,在本机测试了一下,还不错,但对于其中的代码,由于官方并未有详细的解释,导致学习上费了一番功夫。故写一篇博文总结一下将一个图片作为笔刷先看个效果图这个是将一个图片作为笔刷进行绘制的效果,下面是实现的代码:$image = ImageCreate(500,500);$bg = imagecolorallocate($image, 255,255,255);$color = imagecolorallocate($image, 200,0,0);//笔刷效果-笑脸$style = array($bg,$bg 阅读全文
摘要:
概述 PHP中绘制图形多使用GD库来实现,GD的功能多寡会因你使用的GD版本以及在配置期间启用了哪些选项而有很大的不同。 常用的GD函数 ImageCreate() : 创建一个基于调色板的图像 ImageColorAllocate() : 为一副图像分配颜色,很古怪的一点是:第一次调用时分配图像的背景色,后面的调用才是用来分配线条、图形等 ImagePNG() : 将GD... 阅读全文
摘要:
概述很多WEB应用程序的安全问题多是由于轻信第三方提供的数据造成的,如将未经过滤的数据发送到浏览器就可能造成跨站点脚本攻击(XSS),如果将未经过滤的数据发送到数据库就可能造成数据库注入(SQL injection)过滤数据并不能解决所有的安全问题,因为造成安全问题的起因还包括session的定置攻击,伪造跨站点请求等,另外可以通过加密提高本地数据的安全性,通过SSL提高数据在用户与服务器之间传输的安全性。预防Session定置攻击Session定置攻击在session一章一节做过介绍,就是攻击者如果知道用户的session id可以伪造其信息来获取用户的信息。所有避免将session以url 阅读全文