行内技术
PHP引用符&的用法举例
php的引用就是在变量或者函数、对象等前面加上&符号。在PHP中引用的意思是:不同的名字访问同一个变量内容。与C语言中的指针是有差别的,C语言中的指针里面存储的是变量的内容在内存中存放的地址。变量的引用PHP的引用允许你用两个变量来指向同一个内容。<?$a="ABC";$b=&$a;echo$a;//这里输出:ABCecho$b;//这里输出:ABC$b="EFG";echo$a;//这里$a的值变为EFG所以输出EFGecho$b;//这里输出EFG?>函数的传址调用传址调用我就不多说了,下面直接给出代码:fun...
2013-3-3453
使用ob_start缓冲输出做简单缓存
PHPob_start()函数是一个功能强大的函数,可以帮助我们处理许多问题。OutputControl函数可以让你自由控制脚本中数据的输出。它非常地有用,特别是对于:当你想在数据已经输出后,再输出文件头的情况。输出控制函数不对使用header()或setcookie(),发送的文件头信息产生影响,只对那些类似于echo()和PHP代码的数据块有作用。所有对header()函数有了解的人都知道,这个函数会发送一段文件头给浏览器,但是如果在使用这个函数之前已经有了任何输出(包括空输出,比如空格,回车和换行)就会提示出错。如果我们去掉第一行的ob_start(),再...
2013-3-3398
使用JavaScript时要注意的7个要素
每种语言都有它特别的地方,对于JavaScript来说,使用var就可以声明任意类型的变量,这门脚本语言看起来很简单,然而想要写出优雅的代码却是需要不断积累经验的。本文利列举了JavaScript初学者应该注意的七个细节,与大家分享。1.简化代码JavaScript定义对象和数组非常简单,我们想要创建一个对象,一般是这样写的:varcar=newObject();car.colour='red';car.wheels=4;car.hubcaps='spinning';car.age=4;下面的写法可以达到同样的效果:varcar...
2013-3-3431
一个十几年经验DBA的宝贵经验财富
什么是执行计划?执行计划是依赖于什么信息。执行计划是数据库根据SQL语句和相关表的统计信息作出的一个查询方案,这个方案是由查询优化器自动分析产生的,比如一条SQL语句如果用来从一个10万条记录的表中查1条记录,那查询优化器会选择“索引查找”方式,如果该表进行了归档,当前只剩下5000条记录了,那查询优化器就会改变方案,采用“全表扫描”方式。可见,执行计划并不是固定的,它是“个性化的”。产生一个正确的“执行计划”有两点很重要:SQL语句是否清晰地告诉查询优化器它想干什么?查询优化器得到的数据库统计信息是否是最新的、正确的?...
2013-3-3375
病毒营销面面观
我不得不承认,"病毒式营销"这个词儿有点儿攻击性。自诩为病毒式营销者的人会让人望而生畏。但是,我就喜欢。你也许会问"人们有对付它的疫苗么?"。作为一种险恶的东西,小小的病毒命运多舛,半死不活,只有在灾难电影或者恐怖电影里才能见到,乏人问津。但是你不得不崇拜病毒。他深居简出,直到纯粹靠数量赢得优势之后人们才意识到他庞大数目。他寄生在其他宿主身上,并利用宿主的资源繁衍自己的后代。在合适的环境中,他会呈指数级增长。病毒甚至不用搞对象——他仅仅靠复制,通过一次次的几何级增长,每次翻番儿。经过短短几代之后,病毒的数量就会大的惊人。病毒式营销定义病毒和营销有什么关系呢?病毒...
2013-3-3368
为什么我不到10秒就离开你的网站
是什么让人们在打开你的网页没多久就按下返回键?他们为什么那么快就想摆脱你的网站?可以做些什么来改善这一点呢?长期思考这个问题之后,我发现了比原本想象的还要多的一些因素。如果把以下因素单独考虑的话,可能还不至于让访问者产生迅速离开的冲动,但是如果这些因素掺杂在一起的话,却足以留给访问者一个足够坏的印象,让他们马上离开。让用户在你的网站有个愉快的体验并不是件容易的事情。实际上大多数网站都会多多少少有些问题。但是看看下面这些负面因素并努力避免,或许可以对于做出更有用户黏性的网站有好处。来,从最糟糕的开始说吧……1.自动播放的声音。这真让我发狂。如果我访问网站时候立...
2013-3-3419
HTML5canvas流体力学效果
某人用Java搞了一个流体力学的演示:http://grantkot.com/MPM/Liquid.html。下面是HTML5版的流体力学演示(推荐使用Chrome浏览器浏览):效果演示functionrunCode(id){obj=document.getElementById(id);varTestWin=open('');//打开一个窗口并赋给变量TestWin。TestWin.opener=null//防止代码对论谈页面修改TestWin.document.write(obj.value);//向这个打开的窗口中写入代码code,这样就实现了...
2013-3-3416
关于背包的硬币找零问题
设有6种不同面值的硬币,各硬币的面值分别为5分,1角,2角,5角,1元,2元。现要用这些面值的硬币来购物和找钱。购物时可以使用的各种面值的硬币个数存于数组Coins[1:6]中,商店里各面值的硬币有足够多。在1次购物中希望使用最少硬币个数。例如,1次购物需要付款0.55元,没有5角的硬币,只好用2*20+10+5共4枚硬币来付款。如果付出1元,找回4角5分,同样需要4枚硬币。但是如果付出1.05元(1枚1元和1枚5分),找回5角,只需要3枚硬币。这个方案用的硬币个数最少。对于给定的各种面值的硬币个数和付款金额,计算使用硬币个数最少的交易方案。Input:输入数据有若干...
2013-3-3391
百万级高性能网站的架构事项
作者简介:SteveMushero,ChinaNetCloud公司联合创始人、CEO兼CTO,拥有全球20多年的技术管理经验。曾担任土豆网、Intermind和AdvancedManagementSystems等多家企业CTO在我们公司ChinaNetCloud,见过多种不同类型的网站和系统,有好也有差。其中有些系统拥有良好的服务器/网络架构,并且进行了合理的调整和监控;然而一般的系统都会有安全和性能上的问题,不能良好运行,也无法变得更流行。在中国,开源的LAMP栈是最流行的网络架构,它使用PHP开发,运行在Apache服务器上,以MySQL作为数据库,所有这些...
2013-3-3386
PHP的各种缓存手段介绍
WEB程序获取信息的方式主要是查询数据库,当数据库不是很大的情况下不会有太大的问题。然而,随着网站的发展,数据库呈几何级数的方式增长的时候,就会出现瓶颈,于是PHP缓存技术诞生了。PHP缓存技术工作时,当程序查询数据的时候,会把相应的结果序列化后保存到文件中,以后同样的查询语句就可以不用直接查询数据库,而是从缓存文件中获得。这一改进使得程序运行速度得以太幅度提升。php缓存技术的应用时相当普遍的,也许有些人还对这项技术不太了解,我们现在就为大家详细的介绍一下PHP缓存技术的相关应用技巧。在大部份情况下我们的网站都会使用数据库作为站点数据存储的容器。当你执行一个S...
2013-3-3437
被曲解的敏捷苦了程序员们
一天,程序员甲遇到了程序员乙。程序员甲就问程序员乙了,“听说你们公司也在搞敏捷?”程序员乙答:“是啊,别提了,纠结着呢。感觉现在加班比以前还多了,一个迭代接着一个,比以前累多了。你们公司呢?”“我们啊,现在不怎么提敏捷了。敏捷这一套东西在我们这里不好用。”上述对话并非个案。对大多数人而言,敏捷实施给他们带来的更多是痛苦,而不是成功,而且即使是成功,大多也与他本人无关。所以一方面来讲,敏捷越来越火热,敏捷大会上人潮汹涌,另一方面,又有很多的声音在声讨敏捷,包含那些在敏捷上栽了跟头吃了亏的。如何才能形容很多公司敏捷实施的现状呢?我苦苦思索。当“苦逼敏捷”这个概念从我...
2013-3-3315
PHP根据文件头检测文件类型
文件签名一般都在文件的头部,如果你用十六进制方式查看文件,你就可以看到文件的一些签名信息。如用uestudio以十六进制方式查看zip格式的文件,其文件内容头部有504B0304这样的十六进制信息。同理jpg文件状况有FFD8FFE0xxxx4A46这样的十六进制信息,其实这此十六进制都是表示一些特殊字条。php怎么样验证文件类型?先来看一个简单的方法:functioncheckFileType($fileName){$file=fopen($fileName,"rb");$bin=fread($file,2);//只读2字节fclose($file);...
2013-3-3346
PHP日期时间格式化date()与gmdate()用法
date/time函数允许您提取并格式化服务器上的日期和时间。这些函数依赖于服务器的本地设置。先介绍下time()函数:time()函数time()函数返回当前时间的Unix时间戳。返回自从Unix纪元(格林威治时间1970年1月1日00:00:00)到当前时间的秒数。自PHP5.1起在$_SERVER['REQUEST_TIME']中保存了发起该请求时刻的时间戳。<?php$time=time();echo($time."<br/>");echo(date("DFdY",$time));?>程序运行结果:1292984...
2013-3-3424
PHPiconv()字符编码转换的问题
在php函数库有一个函数:iconv(),iconv函数库能够完成各种字符集间的转换,是php编程中不可缺少的基础函数库。最近在做一个小偷程序,需要用到iconv函数把抓取来过的utf-8编码的页面转成gb2312,发现只有用iconv函数把抓取过来的数据一转码数据就会无缘无故的少一些。让我郁闷了好一会儿,去网上一查资料才知道这是iconv函数的一个bug。iconv在转换字符"—"到gb2312时会出错。下面慢慢看一下这个函数的用法。最简单的应用,把gb2312置换成utf-8:$text=iconv("GB2312","UTF-8",$text);...
2013-3-3540
PHP用strstr()函数阻止垃圾评论
strstr()函数搜索一个字符串在另一个字符串中的第一次出现。该函数返回字符串的其余部分(从匹配点)。如果未找到所搜索的字符串,则返回false。语法:strstr(string,search)参数string,必需。规定被搜索的字符串。参数search,必需。规定所搜索的字符串。如果该参数是数字,则搜索匹配数字ASCII值的字符。该函数对大小写敏感。如需进行大小写不敏感的搜索,请使用stristr()。strstr()函数简单演示<?phpechostrstr("HelloNowaMagic!","NowaMagic");?...
2013-3-3456
PHP多种图片格式的简单上传
简单地写了一个PHP的图片上传,可以支持jpg、png、gif等格式的图片,如果你想支持更多的格式,比如bmp,可以自己扩充。不是面向对象的,在这里简单记录下,以便以后取用。此处一次支持上传2个图片,上传后生成原图和质量较差的图,原图用于保存质量高的图片,质量差的图用于网页显示。PHPCode<?phpinclude_once("db.php");include_once("dbinfo.php");$connector=newnmdb($host,$username,$password);$connector->select_db($databa...
2013-3-3486
如何使用PHP实现一个WebService
WSDLWSDL(网络服务描述语言,WebServicesDescriptionLanguage)是一门基于XML的语言,用于描述WebServices以及如何对它们进行访问。这种文档可描述某个Webservice。它可规定服务的位置,以及此服务提供的操作(或方法)。一个WSDL文档的主要结构是类似这样的:<definitions><types>definitionoftypes........</types><message>definitionofamessage....</message>&...
2013-3-3361
Perl/PHP/Python/Java/Ruby的拟人课堂讨论
!预览语言的发展趋势一定是动静结合、刚柔并济Perl凝练晦涩,Python优雅明晰,Ruby精巧灵动,PHP简明单纯或许优雅正是来自对细节和规范的重视(RoR)与Ruby结合之后,便如一只猱身而上灵猫,立刻衬托出Java和.NET大象般的身影?提问Perl、Python、Ruby和PHP各自有何特点?为什么动态语言多作为轻量级的解决方案?LAMP为什么受欢迎?RubyonRails为什么会流行?编程语言的发展趋势是什么?:讲解...
2013-3-3412
非IE浏览器如何让网页变灰
整个网页变灰色,在IE下可以用下面的CSS解决:html{filter:progid:DXImageTransform.Microsoft.BasicImage(grayscale=1);}但是非IE浏览器,比如Chrome、firefox等没有IE自带的滤镜,那又如何做网页变灰效果呢?在网上发现一个能实现这个效果的js,这里分享一下,先来看看效果。/*window.onload=function(){grayscale(document.getElementsByTagName('html'));};*/functiongra...
2013-3-3610
如何用JavaScript做一个可拖动的div层
可拖动的层在Web设计中用处很多,比如在某些需要自定义风格布局的应用中,控件就需要拖动操作,下面介绍一个,希望可以满足你的需求,顺便学习一下可拖动的层是如何实现的。下面是效果演示:这个DIV可以移动,你可以测试下。//
2013-3-3344