博文

PHP比ASP优秀的七个理由 (2007-12-01 12:31:00)

摘要:PHP比ASP优秀的七个理由

ASP是微软公司实现动态网页的一种技术。ASP支持一些脚本语言,主要以VBScripp为主。与ASP相比较,你还可以选择另一中开放源代码编程语言——PHP,PHP可以运行在多种操作系统下,其中包括Linux和windows。

虽然ASP是一种不错的技术,但从长远考虑我相信PHP在将来的技术领域里会有不凡的表现。

我认为有七个理由可以说明PHP比ASP更优秀:

1、速度、速度、速度

当我第一次运行PHP脚本程序时,我不禁对自己说:“太快了”,当时我是在仪态166MHZ的机器上运行我的程序的,但运行的速度仍然很快。

ASP是永远也不会象PHP这样快的,因为ASP是建立在COM体系结构之上的。当用VBScript写ASP脚本时,实际上实在使用COM的对象,当向用户浏览器发送信息时,它用的是Response对象的write方法,当它访问数据库和文件系统的时候,它用的是其他的COM对象。这些COM对象的使用使运行速度下降。

在PHP代码中,所有的工作都运行在PHP的内存空间中,也就是说PHP不是基于COM对象的,所以的他的运行速度会快一些。

下面是我们在MSSQL7 40次运行一个查询语句的执行时间统计:

PHP Querying MSSQL7 时间(秒)

用 MSSQL extension 01.88

用 ODBC extension 09.54

用 ODBC via COM (ADO) 17.28

用OLEDB via COM 06.19

当我们使用PHP.ODBC,访问数据库用了9.54秒,而用COM接口去连接数据库需要比PHP所用的时间高80%。

OLEDB是微软的一种高速访问数据库的技术,他比ODBC要快。但当我们所PHP和OLEDB的效率实验时,结果是PHP的整体性能比OLEDB高200%,如此的出一个结论,如果不采用COM可以获得较快的执行速度。

当然PHP的执行速度还不是最快的,但我们才刚刚开始起步,我们会逐步的完善他,而且PHP是一种开放源代码编程语言,世界上许多程序员在不断的......

阅读全文(1481) | 评论:0

word字体大小(2007-07-16 09:59:00)

摘要:TeX 是一个用来制作漂亮的文档的程序,特别是当它包含了相当多数学公式的时候。如果 Microsoft Word 从没有激怒过你,你可以暂时跳过这一页。 基本事实 1977 年,Donald E. Knuth 开始开发 TeX 排版引擎,目前 TeX 的版本号是 3.14159。TeX 使用文本文件做为输入,而能够产生 DVI 文件或者 PDF 文件(借助附加工具),这个特点决定了 TeX 不需要使用一种专用的编辑器(当然也谈不上是不是所见即所得),并且 TeX 目标是为了屏幕或者打印输出,而不是编辑。 TeX 的基本指令有 900 多条,除此之外 TeX 还支持宏的扩展。TeX 及其宏包在不同的操作系统上有不同的发行,例如在 Windows 上有 TeXLive(fpTeX)、MiKTeX,在 Linux 上有 teTeX。 中文解决方案 和其他很多软件一样,在最初这个软件移至到中文环境下工作时总要做很多额外的工作,甚至你遇到的问题会让你焦头烂额,但是别灰心,也不要抱怨五千年的文化,你应该感到骄傲。 中文解决方案涉及到三个方面的问题:字体、软件配置文件、中文风格模板。 关于字号 计算机对于字号的描述方式有点数制和号数制。 所谓的“点”和“磅”实际指的都是英文单词“point”,你可能听说1点就是1/72英寸,事实上并不总是如此,要说清它我们得从印刷术谈起。1737年法国铸字者 Fouroier 以铅字为尺度标准建立了一种点制,后来在它的基础上又发展出了现在广为应用的点制标准。 法国铸字者 Didot 于1770年用当时法国皇家尺为标准,称1尺为12法寸,1法寸为72点,他还将12点定为1 Cicero,Cicero 是古代罗马的一位律师的名字。现在欧洲大陆多采用 Didot 点制,换算关系如下:1 p = 0.3759 mm = 1/72 Royal French inch = 0.0148(约1/68)inch = 1.0695 pt 1 cic = 12 p 英美两国落后于法国100余年后才采用点数制,成为 ATA 点制(也叫 Anglo-Saxon 点制),换算关系如下:1 pt = 0.3514598035 mm = 1/72.27 inch = 0.9350 p 1......

阅读全文(5426) | 评论:0

湖北卷零分作文 (2007-07-10 09:05:00)

摘要: 带"三"的成语给你什么启示?三这个形式,非常*
如果你喜皮笑脸的问我,朋友!你觉的带"三"的成语给你什么启示?我会告诉你,"三人行必有我师",三让我感觉到学习的重要性。这样说会显的我很谦逊,能看出一个人的思想品德高下。 如果你双眉紧簇,双手握拳,很严肃的问我,朋友!你觉的带"三"的成语给你什么启示?那么我就会端正态度,同样很严肃的告诉你我的意见,因为我不会说谎。 我的看法是,带"三"的成语让我感觉非常*,*就是下*的*。大家不要因此而惊慌失措,我的观点是有依据的。就比如说吧,我随便找几个成语。 三人成众,这个成语是说,三个人聚集在一起就算一个团伙了,而团伙犯罪的判刑比个体犯罪重。 孟母三迁,这个成语是说,一个王八蛋小孩整天捣乱,给母亲添麻烦,搬了三次家,简直不孝到极点了。 朝三暮四,这个成语是说,做事老吃着嘴里,看着手里,拿着锅里的。你个大色鬼整天朝三暮四的。 三头六臂,这个成语是形容人本事大,但这成语出身有问题,哪吒是神话人物,这成语有宣扬迷信色彩的嫌疑。 三刀六洞,这个成语是说,过去B社会入门子,要给大腿上捅三刀,表示自己的决心。 三从四德,这个成语是讲女性操守问题,完全无视女性人权,强烈鄙视。 三妻四妾,这个成语是讲一个爷们娶好多老婆,现在已经涉及了重婚罪。 字多的也一样,比如三个和尚没水吃,就是说内部斗争的问题,风气影响很不好。 最*的成语当然是三顾茅庐,刘备也*,诸葛良也*,简直没劲透了。这成语的精神传统现在被我们的推销员继承了,整天没完没了的敲你家们烦你。 还有许许多多的"三"字成语,所包含的意思都很卑鄙,几乎就没有好的。当然你要硬说"三好学生"算成语,那么我无话可说。 当然,我也要为带"三"字的成语作出声明,*并不是成语本身的问题,而是"三"这个字就很*。 太极生两仪,两仪生四相,四相生八卦,我国自古以来,更准确的说是自打周文王演《周易》开始,就是以双为尊。在卦相里,双代表吉利,单则主凶。 所以我哥哥总是对我说说,好事总是双,我哥哥还总是对我说你个小瘪三儿。 三是个充满愤怒的数字,其它单数也一样。他们以个体形式存在,无法容入双的世界,所有以单数出现的形式,总汇展开激烈斗争,消除突出的部分,最终达到双。这个东西我不好明讲,不然会有扰乱社会团结,大家心理明白就行。实在不行就看看......

阅读全文(2096) | 评论:0

三级联动代码(2007-07-10 08:53:00)

摘要:<!-- 三级联动菜单 开始 -->
<script language="JavaScript">
<!--
<%
'二级数据保存到数组
Dim count2,rsClass2,sqlClass2
set rsClass2=server.createobject("adodb.recordset")
sqlClass2="select * from aa"
rsClass2.open sqlClass2,conn,1,1
%>
var subval2 = new Array();
//数组结构:一级根值,二级根值,二级显示值
<%
count2 = 0
do while not rsClass2.eof
%>
subval2[<%=count2%>] = new Array('<%=rsClass2("aID")%>','<%=rsClass2("ID")%>','<%=rsClass2("Name")%>')
<%
count2 = count2 + 1
rsClass2.movenext
loop
rsClass2.close
%> <%
'三级数据保存到数组
Dim count3,rsClass3,sqlClass3
set rsClass3=server.createobject("adodb.recordset")
sqlClass3="select * from aaa"
rsClass3.open sqlClass3,conn,1,1
%>
var subval3 = new Array();
//数组结构:二级根值,三级根值,三级显示值
<%
count3 = 0
do while not rsClass3.eof
%>
subval3[<%=count3%>] = new Array('<%=rsClass3("aaID")%>','<%=rsClass3("ID")%&......

阅读全文(2528) | 评论:0

纯Javascript 三级联动代码(2007-07-10 08:50:00)

摘要:<html>
<head>
<title>网页特效|www.nkcn.net点击南开|--- 三级下拉菜单</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>
<body>
<SCRIPT LANGUAGE="JavaScript">
<!--
function CreateSelect(_FormName,_SName,_SValue,_Ds,_AllOptionStr,ShowType)
{
 //三级关链菜单通用版
 //www.nkcn.net点击南开
 if (_FormName=="")
  _FormName = "all"
 var _DsArr = _Ds.split("|")
 var _Ds1,_Ds2,_Ds3
 var _Ds1 = _DsArr[0]
 var _Ds2 = (_DsArr.length>1)?_DsArr[1]:_DsArr[0]
 var _Ds3 = (_DsArr.length>2)?_DsArr[2]:_DsArr[0]
 var _SNameArr = _SName.split("|")
 var _SName1,_SName2,_SName3
 var _SName1 = _SNameArr[0]
 var _SName2 = (_SNameArr.length>1)?_SNameArr[1]:_SNameArr[0]
 var _SName3 = (_SNameArr.length>2)?_SNameArr[2]:_SNameArr[0]
 var _SValueArr = _SValue.split("|")
 var _SValue1,_SValue2,_SV......

阅读全文(2092) | 评论:0

ASP网页打印代码大全(经典)(2007-07-10 08:46:00)

摘要:ASP开发必备:WEB打印代码大全这篇文章主要介绍了如何使用ASP控制Web的各种打印效果,它能够控制纵打、横打和页面边距等。   1、控制"纵打"、 "横打"和"页面的边距"。    (1)
<script defer> 
  function SetPrintSettings() { 
  // -- advanced features 
  factory.printing.SetMarginMeasure(2) // measure margins in inches 
  factory.SetPageRange(false, 1, 3) // need pages from 1 to 3 
  factory.printing.printer = "HP DeskJet 870C" 
  factory.printing.copies = 2 
  factory.printing.collate = true 
  factory.printing.paperSize = "A4" 
  factory.printing.paperSource = "Manual feed"    // -- basic features 
  factory.printing.header = "This is MeadCo" 
  factory.printing.footer = "Advanced Printing by ScriptX" 
  factory.printing.portrait = false 
  factory.printing.leftMargin = 1.0 
  factory.printing.topMargin = 1.0 
  factory.printing.rightMargin = 1.0 
  factory.printing.bottomMargin = 1.0 
......

阅读全文(6913) | 评论:0

网页打印(2007-07-10 08:46:00)

摘要:<!--语言无关 保存成 .HTML 看看-->
<html>
<head>
<meta name=vs_targetSchema content="http://schemas.microsoft.com/intellisense/ie5">
<title>看看</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<!--media=print 这个属性可以在打印时有效-->
<style media=print>
.Noprint{display:none;}
.PageNext{page-break-after: always;}
</style> <style>
.tdp
{
    border-bottom: 1 solid #000000;
    border-left:  1 solid #000000;
    border-right:  0 solid #ffffff;
    border-top: 0 solid #ffffff;
}
.tabp
{
    border-color: #000000 #000000 #000000 #000000;
    border-style: solid;
    border-top-width: 2px;
    border-right-width: 2px;
    border-bottom-width: 1px;
    border-left-width: 1px;
}
.NO......

阅读全文(2064) | 评论:0

实现控制显示内容(2007-07-10 08:45:00)

摘要:<form name="form1" method="post">
  <input type="radio" onclick="f()" name=ra1>1&nbsp;&nbsp;<input type="radio" onclick="f1()" name=ra1>2<br><input type="text" name="text1" style="display:none" value="1"><br>
  <input type="text" name="text2" style="display:none" value="2">
 </form>
 <script>
 function f()
 {
   document.form1.text2.style.display="none";
   document.form1.text1.style.display="block";
 }
  function f1()
 {
   document.form1.text1.style.display="none";
   document.form1.text2.style.display="block";
 }
 </script>......

阅读全文(2218) | 评论:0

利用WebBrowser实现Web打印的分析(2007-07-10 08:44:00)

摘要:WebBrowser是IE内置的浏览器控件,无需用户下载。本文档所讨论的是有关IE6.0版本的WebBrowser控件技术内容。其他版本的IE应该也支持。与其相关的技术要求有:打印文档的生成、页面设置、打印操作的实现等几个环节。本文以asp为例,但是他可以容易的移植到其他web技术中。
  一、WebBrowser控件
  <object ID='WebBrowser' WIDTH=0 HEIGHT=0 CLASSID='CLSID:8856F961-340A-11D0-A96B-00C04FD705A2'></object>   二、WebBrowder控件的方法
//打印 WebBrowser1.ExecWB(6,1); //打印设置 WebBrowser1.ExecWB(8,1); //打印预览 WebBrowser1.ExecWB(7,1);   三、实现打印的设置,打印数据的生成,打印的预览,和打印。
  实现打印的设置,打印数据的生成,打印的预览,和打印我一般这样做,假如查询结果在a.asp中,那么在a.asp中放置打印设置、打印预览、打印三个按钮。
  单击打印设置按钮则在js中执行WebBrowser1.ExecWB(8,1),以打开打印设置窗口。
  单击打印预览按钮则打开一个b.asp,在b.asp中重新生成打印数据,然后在b.asp中自动执行WebBrowser1.ExecWB(7,1),以打开用户预览界面。
  单击打印按钮则也打开b.asp,在b.asp中重新生成打印数据,然后在b.asp中自动执行WebBrowser1.ExecWB(6,1),以自动打印数据。
  四、代码
  a.asp调用数据的程序就不给出了。只给出几个按钮的代码:
  <input type=“button“ name=“mPrint“ value=“打印“ onclick=“exePrint();“>
<input type=“button“ name=“mPreview“ value=“打印预览“ onclick=“exePreview();“>
<input type=“button“ name=“mSetting“ va......

阅读全文(2265) | 评论:1

asp自动生成静态页面代码(2007-07-10 08:43:00)

摘要:<!--#include virtual="/Admin/include/ConnOpen.Inc"-->
<%
'上边这个是导入的数据库连接文件
timer1=timer
set xmlhttp=server.CreateObject("Microsoft.XMLHTTP")
set ado=Server.CreateObject("ADODB.Stream")
Set FSO = CreateObject("Scripting.FileSystemObject")
set rs=server.CreateObject("adodb.recordset")
servername=Request.ServerVariables("HTTP_HOST") '这里是需要生成页面站点的名称
'response.write servername
typex=trim(request("type"))
%>
<html>
<head>
<title>生成静态页面 by greatsolon</title>
<meta http-equiv="Content-Type" content="text/html;
charset=gb2312" />
<style type="text/css">
<!--
body {
 margin-left: 0px;
 margin-top: 0px;
 margin-right: 0px;
 margin-bottom: 0px;
}
body,td,th {
 font-size: 12px;
}
.scroll_bar {
 border: 1px solid #0080BD;
 background-color: #FFFEF2;
}
.input1 {
 border-bottom-width: 1px;
 border-top-style......

阅读全文(5651) | 评论:0