晨报综合消息 主持人阿雅本月底即将赴美留学,前晚在台湾中视录制了最后一期《我猜我猜我猜猜猜》,吴宗宪也因为老搭档的离开心情不好,现场大发脾气惹哭制作人。
前晚录制的这期节目专门替阿雅举办欢送会,这也是阿雅最后一次进棚录节目。与阿雅合作10年的吴宗宪心情显然非常差,借设备问题大发脾气发泄。当天的录制一开始,摄影棚内的音响就频频出现问题,先是键盘没有声音,接着主持人的麦克风也没有调好。吴宗
宪忍着怒气把阿雅欢送会主持完后,马上在摄影棚里发脾气骂人。制作人叶心如流着眼泪赶忙向他道歉,吴宗宪稍平静后安慰对方说,“其实今天我也是因为阿雅的事心情不好,才会发这么大的脾气。”后来阿雅送上点心给吴宗宪,才令他露出笑容。和阿雅搭档10年,吴宗宪不舍之情溢于言表,他难过地说,“我今天心情很差,因为阿雅要走了,不要看我常躲她,所有搭档中我最喜欢她。”王琳
前晚录制的这期节目专门替阿雅举办欢送会,这也是阿雅最后一次进棚录节目。与阿雅合作10年的吴宗宪心情显然非常差,借设备问题大发脾气发泄。当天的录制一开始,摄影棚内的音响就频频出现问题,先是键盘没有声音,接着主持人的麦克风也没有调好。吴宗
宪忍着怒气把阿雅欢送会主持完后,马上在摄影棚里发脾气骂人。制作人叶心如流着眼泪赶忙向他道歉,吴宗宪稍平静后安慰对方说,“其实今天我也是因为阿雅的事心情不好,才会发这么大的脾气。”后来阿雅送上点心给吴宗宪,才令他露出笑容。和阿雅搭档10年,吴宗宪不舍之情溢于言表,他难过地说,“我今天心情很差,因为阿雅要走了,不要看我常躲她,所有搭档中我最喜欢她。”王琳
Ajax与Java也有着很大的渊源,在用户群中也早已成为热门话题,以至于成为JavaOne大会上的热门话题也就不足为怪了。
所有的主要Java平台厂商,包括Sun Microsystems公司、BEA Systems公司、IBM、JBoss公司、Oracle公司等都在宣传新的Ajax产品。三家小的Ajax工具厂商BackBase B.V.、ICEsoft Technology和JackBe也在展台上展示自己的产品。
所有的主要Java平台厂商,包括Sun Microsystems公司、BEA Systems公司、IBM、JBoss公司、Oracle公司等都在宣传新的Ajax产品。三家小的Ajax工具厂商BackBase B.V.、ICEsoft Technology和JackBe也在展台上展示自己的产品。
热情洋溢的Java吉祥物Duke随处可见,不时有人端着热气腾腾的咖啡杯你从身边走过。如果想要找台PC机上网,对不起,这里只有SunRay 170终端,只要把自己的胸卡——一张运行Java的智能卡插到终端上就能访问GNOME桌面,这就是在旧金山Moscone中心举办的JavaOne 2006。
JavaOne是Sun公司主办的一年一度的Java开发人员技术大会,设有与Java相关的多个系列课程,由各个领域的权威人士主讲,能够帮助开发者了解Java技术发展的最新动向和实用技术,也为全球Java开发者提供了最佳的面对面交流场合。Java的创始人之一James Gosling在自己的blog中写到,这次JavaOne出现的火爆场面,只有在几年前的dot.com时代才见到过。的确,根据Sun的统计,这次共有来自世界各地超过14000名开发者和合作伙伴参加大会,而参展商的阵容也空前盛大,超过100家合作伙伴在现场设立了展台。
这次大会中,Sun公司围绕Java这个中心议题,宣布了一系列重要的消息,其中大多与开放源代码相关。而Sun的新旧CEO同时亮相,也使这次大会备受关注。
Java自1994年诞生以来,已经走过了12个年头,今年恰好是Java的“本命年”。按照中国的传统,本命年往往意味着重大的变化,而从JavaOne 2006的情况来看,今年正是Java一个继往开来的转折之年。
Sun的新主角
在Java出现之前,Sun被认为是一家企业级服务器平台提供商,而它也一度强调自己是一家硬件提供商。但近年来,随着Java以及Sun的其他软件产品在市场中不断取得成功,这种情况开始改变。如今,Sun不但不再刻意掩盖软件的重要性,而且开始大张旗鼓地宣传Java对于Sun和整个IT领域的重要性。
Java为Sun赢得了新的市场,也为Sun引来了公众的关注。根据Sun公布的数字,全世界已经有超过25亿台设备运行Java;每10部手机中,就有8部支持Java。Gosling指出,Java是一种万能语言(a language for everything),将无处不在。
JavaOne是Sun公司主办的一年一度的Java开发人员技术大会,设有与Java相关的多个系列课程,由各个领域的权威人士主讲,能够帮助开发者了解Java技术发展的最新动向和实用技术,也为全球Java开发者提供了最佳的面对面交流场合。Java的创始人之一James Gosling在自己的blog中写到,这次JavaOne出现的火爆场面,只有在几年前的dot.com时代才见到过。的确,根据Sun的统计,这次共有来自世界各地超过14000名开发者和合作伙伴参加大会,而参展商的阵容也空前盛大,超过100家合作伙伴在现场设立了展台。
这次大会中,Sun公司围绕Java这个中心议题,宣布了一系列重要的消息,其中大多与开放源代码相关。而Sun的新旧CEO同时亮相,也使这次大会备受关注。
Java自1994年诞生以来,已经走过了12个年头,今年恰好是Java的“本命年”。按照中国的传统,本命年往往意味着重大的变化,而从JavaOne 2006的情况来看,今年正是Java一个继往开来的转折之年。
Sun的新主角
在Java出现之前,Sun被认为是一家企业级服务器平台提供商,而它也一度强调自己是一家硬件提供商。但近年来,随着Java以及Sun的其他软件产品在市场中不断取得成功,这种情况开始改变。如今,Sun不但不再刻意掩盖软件的重要性,而且开始大张旗鼓地宣传Java对于Sun和整个IT领域的重要性。
Java为Sun赢得了新的市场,也为Sun引来了公众的关注。根据Sun公布的数字,全世界已经有超过25亿台设备运行Java;每10部手机中,就有8部支持Java。Gosling指出,Java是一种万能语言(a language for everything),将无处不在。
看这些从艺的“盲人”
2001年2月蔡依林接受采访时被问“三国历史”,不知三国是哪三国。
2005年5月李玟听到一首《满江红》,说话直率的她马上问索尼唱片主管何先生:“我很喜欢《满江红》这首歌的歌词,是谁写的?”“岳飞!”何先生一说完,李玟很兴奋地接道:“那我可不可以请岳飞帮我写歌?”
2005年5月李湘穿着带有英文“Vamp(荡妇)”的衣服录制节目。
2006年年初,张含韵在参加刘仪伟的《东方夜谭》节目时,误把“憧憬”读成“撞憬”,引来网友炮轰。
2006年4月孙俪的一张新写真照片在网上流传,照片中孙俪穿了一件前胸印有英文单词“hustler”的T恤,而“hustler”在英语中有“妓女”的意思。这张照片引起观者大哗。
2001年2月蔡依林接受采访时被问“三国历史”,不知三国是哪三国。
2005年5月李玟听到一首《满江红》,说话直率的她马上问索尼唱片主管何先生:“我很喜欢《满江红》这首歌的歌词,是谁写的?”“岳飞!”何先生一说完,李玟很兴奋地接道:“那我可不可以请岳飞帮我写歌?”
2005年5月李湘穿着带有英文“Vamp(荡妇)”的衣服录制节目。
2006年年初,张含韵在参加刘仪伟的《东方夜谭》节目时,误把“憧憬”读成“撞憬”,引来网友炮轰。
2006年4月孙俪的一张新写真照片在网上流传,照片中孙俪穿了一件前胸印有英文单词“hustler”的T恤,而“hustler”在英语中有“妓女”的意思。这张照片引起观者大哗。
呵,没有想到现在的这个时间,会坐在这里听歌,真得是很搞笑吧,其实也没有什么
生活就是这样子,当变成空虚的时候,就不知道怎么办了!
每天的忙碌对自己来说就是不满意,还是就是自己的对生活和自己老是不满!
也许心里有点苦楚,但不知道怎么做!
也许只能听这首歌来给自己放松一下了,真得停下来给自己的blog写点东西的时间很少!
所以写来写去都是一样的,
我还是听歌吧!
生活就是这样子,当变成空虚的时候,就不知道怎么办了!
每天的忙碌对自己来说就是不满意,还是就是自己的对生活和自己老是不满!
也许心里有点苦楚,但不知道怎么做!
也许只能听这首歌来给自己放松一下了,真得停下来给自己的blog写点东西的时间很少!
所以写来写去都是一样的,
我还是听歌吧!
script language="JavaScript">
<!--
var flag=false;
function DrawImage(ImgD){
var image=new Image();
image.src=ImgD.src;
if(image.width>0 && image.height>0){
flag=true;
if(image.width/image.height>= 180/110){
if(image.width>180){
ImgD.width=180;
ImgD.height=(image.height*110)/image.width;
}else{
ImgD.width=image.width;
ImgD.height=image.height;
}
/*ImgD.alt="bigpic" */
}
else{
if(image.height>110){
ImgD.height=110;
ImgD.width=(image.width*110)/image.height;
}else{
ImgD.width=image.width;
ImgD.height=image.height;
}
/*ImgD.alt="bigpic" */
}
}
}
//-->
</script>
图片使用的地方:
<img src="图片" border=0 width="180" height="110" onload="javascriptrawImage(this);">
width="180" height="110" 注意这里最好限定,如果不限定加载图时会成原大,然后再缩小,这个过程如果图大了很难看的.这里是宽度和高度,在前面的JS里改,这里也作相应的改.
图不会变形,只会按比列缩,放心
<!--
var flag=false;
function DrawImage(ImgD){
var image=new Image();
image.src=ImgD.src;
if(image.width>0 && image.height>0){
flag=true;
if(image.width/image.height>= 180/110){
if(image.width>180){
ImgD.width=180;
ImgD.height=(image.height*110)/image.width;
}else{
ImgD.width=image.width;
ImgD.height=image.height;
}
/*ImgD.alt="bigpic" */
}
else{
if(image.height>110){
ImgD.height=110;
ImgD.width=(image.width*110)/image.height;
}else{
ImgD.width=image.width;
ImgD.height=image.height;
}
/*ImgD.alt="bigpic" */
}
}
}
//-->
</script>
图片使用的地方:
<img src="图片" border=0 width="180" height="110" onload="javascriptrawImage(this);">
width="180" height="110" 注意这里最好限定,如果不限定加载图时会成原大,然后再缩小,这个过程如果图大了很难看的.这里是宽度和高度,在前面的JS里改,这里也作相应的改.
图不会变形,只会按比列缩,放心
应sin同学要求,写了个js。好久好久好久没有写了哦~~~都快忘光了。
主要的功能是自动缩小过大的图片,以避免div构造的页面被撑坏。
本来想网上应该有现成的代码可以用,搜了半天发现,都不符合web standards标准。于是我的洁癖心理再次发作,决定自己来写个。
现在firefox、ie、opera下通过测试,但是不知道有没有bug。
代码如下:
// 目的: 自动缩小过大的图片,避免撑坏页面
//*********************************************************
function resizeImg() {
//window.alert("55");
var imageAll=document.getElementById("content").getElementsByTagName("img");
if (imageAll !=null) {
for (i=0; i if (imageAll[i].width>500) {
imageAll[i].style.width="100%";
imageAll[i].onclick=function(){window.open(this.src)};
imageAll[i].style.cursor="hand";
}
}
}
}
if (window.addEventListener)
window.addEventListener("load", resizeImg, false);
else if (window.attachEvent)
window.attachEvent("onload", resizeImg);
else
window.onload=resizeImg
主要的功能是自动缩小过大的图片,以避免div构造的页面被撑坏。
本来想网上应该有现成的代码可以用,搜了半天发现,都不符合web standards标准。于是我的洁癖心理再次发作,决定自己来写个。
现在firefox、ie、opera下通过测试,但是不知道有没有bug。
代码如下:
// 目的: 自动缩小过大的图片,避免撑坏页面
//*********************************************************
function resizeImg() {
//window.alert("55");
var imageAll=document.getElementById("content").getElementsByTagName("img");
if (imageAll !=null) {
for (i=0; i
imageAll[i].style.width="100%";
imageAll[i].onclick=function(){window.open(this.src)};
imageAll[i].style.cursor="hand";
}
}
}
}
if (window.addEventListener)
window.addEventListener("load", resizeImg, false);
else if (window.attachEvent)
window.attachEvent("onload", resizeImg);
else
window.onload=resizeImg
test.htm
<script language="JavaScript" src="test.asp" type="text/JavaScript"></script>
-------------------------------------------------------
test.asp
<%
filename=server.MapPath("count.txt")
set fso=server.CreateObject("scripting.filesystemobject")
set myfile=fso.opentextfile(filename,1,true)
num=myfile.readline+1
myfile.close
set myfile=fso.opentextfile(filename,2,true)
myfile.writeline num
myfile.close
text=text&"document.write('"&num&"');"&chr(13)&chr(10)
response.write text
%>
------------------------------------------------------------
count.txt
0
------------------------------------------------------------
这是一个十分简单的例子,打开test.htm可以看到你想要的效果
操作ACCESS或SQL是一样的,应用于每一个新闻页面可以做一下改进
<script language="JavaScript" src="test.asp" type="text/JavaScript"></script>
-------------------------------------------------------
test.asp
<%
filename=server.MapPath("count.txt")
set fso=server.CreateObject("scripting.filesystemobject")
set myfile=fso.opentextfile(filename,1,true)
num=myfile.readline+1
myfile.close
set myfile=fso.opentextfile(filename,2,true)
myfile.writeline num
myfile.close
text=text&"document.write('"&num&"');"&chr(13)&chr(10)
response.write text
%>
------------------------------------------------------------
count.txt
0
------------------------------------------------------------
这是一个十分简单的例子,打开test.htm可以看到你想要的效果
操作ACCESS或SQL是一样的,应用于每一个新闻页面可以做一下改进
用ASP+FSO生成JS文件
<!--#include file="conn.asp"-->
<%
set js = server.CreateObject("ADODB.RecordSet")
sql="select top 10 * from article order by id desc"
set js = conn.Execute (Sql)
do while not js.eof
title=js("title")
addate=js("addate")
goaler = goaler + "<li><a href=""/"& js("id")&".htm"">" &title&" "&addate&"</a></li><br>"
js.movenext
loop
'生成JS文件
goaler = "" + goaler + ""
goaler = "document.write('" & goaler & "')"
FolderPath = Server.MapPath("./")
Set fso = Server.CreateObject("Scripting.FileSystemObject")
Set fout = fso.CreateTextFile(FolderPath&"\top10.js")
fout.WriteLine goaler
'关闭连接
fout.close
set fout = nothing
js.close
set js = nothing
conn.close
set conn=nothing
%>
<!--#include file="conn.asp"-->
<%
set js = server.CreateObject("ADODB.RecordSet")
sql="select top 10 * from article order by id desc"
set js = conn.Execute (Sql)
do while not js.eof
title=js("title")
addate=js("addate")
goaler = goaler + "<li><a href=""/"& js("id")&".htm"">" &title&" "&addate&"</a></li><br>"
js.movenext
loop
'生成JS文件
goaler = "" + goaler + ""
goaler = "document.write('" & goaler & "')"
FolderPath = Server.MapPath("./")
Set fso = Server.CreateObject("Scripting.FileSystemObject")
Set fout = fso.CreateTextFile(FolderPath&"\top10.js")
fout.WriteLine goaler
'关闭连接
fout.close
set fout = nothing
js.close
set js = nothing
conn.close
set conn=nothing
%>
1 不要把首页做成falsh
真正的搜索引擎对图片的识别能力很差,首页做成flash,不仅不利于搜索引擎排名,而且还减慢了进入主页的速度,在一定程度上为你的客户尽快找到你又设置了一道小障碍。
2 不要把导航做成图片连接
因为搜索引擎是一个很大的数据库,而不是一个图片库,搜索引擎首页搜索引擎到的是你的标题,接着才通过你的导航系统搜索到你网站的其他内页,所以如果你的网站导航是文字连接,搜索引擎就很容易搜索到你其他的页面,是网站的整体形象得意完美展示,如果图片连接则不能达到这个效果。
3 不要用大量的图片组成首页
任何一个搜索引擎都喜欢结构明显,而不喜欢把网站做成一张皮,让搜索引擎分不清你的重点所在。
4 不要去作所谓的通用网址,那是用来骗不懂网络的人
一个网站80%的流量来源于搜索引擎,其他的20%则通过直接输入网址和导航网站的连接,用通用网址的人不到0.5%。因为3721网络实名的成功,通用网址只不过是想借中国互联网不成熟的时机捞一把而已。你懂网络吗?懂就不要用通用网址。
5 不要去相信网络公司对你销售业绩的承诺
如果你是公司的老板或者是网站负责人,你就会听到很多网络公司的业务人员,为了让你作一个推广,就会给你一些不切合实际的承诺,如推广在手,销售不愁,今天作了推广,一定可以给你带来数十万的销售额,有时候还会给你说,我们那个客户推广后一年在销售几百万。这些都是推广的功劳吗?这样的几率有多大,1%还是千分之一呢?
6 不要被中搜的廉价垃圾服务所骗
很值白的说,中搜不是搜索引擎,因为没有流量,很多个人网站的流量都要比他大的多,最关键还是技术问题一直没有很好的解决。
7 不要去作第一页以后的广告
经常浏览百度的人就会发现,遇到一些热门的关键词,如,手机,数码相机,掌上电脑,电影,等热门关键词,前四五页就是推广的。前三可以拦截80%的客户和流量,第一页可以拦截60%的客户和流量,第二页的点击机会只有20%到30%,更不要说第三第四页了,一句话,没效果,白扔钱。
8 不要期望用垃圾邮件来推广的你下网站
如今没有人不讨厌垃圾邮件,因为它已经给人们的工作带来了很多负面影响,会阅读垃圾邮件的几率不到千分之一,更不会去考虑你的服务和产品了。很影响企业形象。
9 过于追求免费,疯狂的作友情连接.
一些人为了省钱,把希望寄托在免费资源上,更可笑的是有人想通过单纯的疯狂的友情连接希望增加自己网站的流量,提高在搜索引擎的排名,吸引一个客户。
10 为难那些电子商务师,他们心有余而力不足
很多公司为了追赶电子商务浪潮,专门找一个学习电子商务专业的学生或者是一个对网络了解的人,不再花其他的钱,来成功运行公司网站,最终使网站盈利。千万不要为难那些电子商务师,他们也想把公司网站运作好,但是他们本身那也不是很懂。他们只能来维护你的网站。
这是本人近年来对运营网站的一点心得,仅供参考!
真正的搜索引擎对图片的识别能力很差,首页做成flash,不仅不利于搜索引擎排名,而且还减慢了进入主页的速度,在一定程度上为你的客户尽快找到你又设置了一道小障碍。
2 不要把导航做成图片连接
因为搜索引擎是一个很大的数据库,而不是一个图片库,搜索引擎首页搜索引擎到的是你的标题,接着才通过你的导航系统搜索到你网站的其他内页,所以如果你的网站导航是文字连接,搜索引擎就很容易搜索到你其他的页面,是网站的整体形象得意完美展示,如果图片连接则不能达到这个效果。
3 不要用大量的图片组成首页
任何一个搜索引擎都喜欢结构明显,而不喜欢把网站做成一张皮,让搜索引擎分不清你的重点所在。
4 不要去作所谓的通用网址,那是用来骗不懂网络的人
一个网站80%的流量来源于搜索引擎,其他的20%则通过直接输入网址和导航网站的连接,用通用网址的人不到0.5%。因为3721网络实名的成功,通用网址只不过是想借中国互联网不成熟的时机捞一把而已。你懂网络吗?懂就不要用通用网址。
5 不要去相信网络公司对你销售业绩的承诺
如果你是公司的老板或者是网站负责人,你就会听到很多网络公司的业务人员,为了让你作一个推广,就会给你一些不切合实际的承诺,如推广在手,销售不愁,今天作了推广,一定可以给你带来数十万的销售额,有时候还会给你说,我们那个客户推广后一年在销售几百万。这些都是推广的功劳吗?这样的几率有多大,1%还是千分之一呢?
6 不要被中搜的廉价垃圾服务所骗
很值白的说,中搜不是搜索引擎,因为没有流量,很多个人网站的流量都要比他大的多,最关键还是技术问题一直没有很好的解决。
7 不要去作第一页以后的广告
经常浏览百度的人就会发现,遇到一些热门的关键词,如,手机,数码相机,掌上电脑,电影,等热门关键词,前四五页就是推广的。前三可以拦截80%的客户和流量,第一页可以拦截60%的客户和流量,第二页的点击机会只有20%到30%,更不要说第三第四页了,一句话,没效果,白扔钱。
8 不要期望用垃圾邮件来推广的你下网站
如今没有人不讨厌垃圾邮件,因为它已经给人们的工作带来了很多负面影响,会阅读垃圾邮件的几率不到千分之一,更不会去考虑你的服务和产品了。很影响企业形象。
9 过于追求免费,疯狂的作友情连接.
一些人为了省钱,把希望寄托在免费资源上,更可笑的是有人想通过单纯的疯狂的友情连接希望增加自己网站的流量,提高在搜索引擎的排名,吸引一个客户。
10 为难那些电子商务师,他们心有余而力不足
很多公司为了追赶电子商务浪潮,专门找一个学习电子商务专业的学生或者是一个对网络了解的人,不再花其他的钱,来成功运行公司网站,最终使网站盈利。千万不要为难那些电子商务师,他们也想把公司网站运作好,但是他们本身那也不是很懂。他们只能来维护你的网站。
这是本人近年来对运营网站的一点心得,仅供参考!
1)写HTML
asp: Response.Write(str)
php: print $str;
echo $str;
print_r $debug_str;
2) Form, Cookie and QueryString变量
asp: 可以用Request object.
php: 这些变量是自动提供的作为一个全局变量,如果在PHP.ini文件中这样配置的话:
asp: Response.Write(str)
php: print $str;
echo $str;
print_r $debug_str;
2) Form, Cookie and QueryString变量
asp: 可以用Request object.
php: 这些变量是自动提供的作为一个全局变量,如果在PHP.ini文件中这样配置的话:
一. 10句话
1.不要依赖register_global=ON的环境,从你刚懂得配置php运行环境甚至尚不明白register_global的ON/OFF会对自己有什么影响的那天起,就应该勇敢地把它设为OFF.
2.写程序前看看怎么用error_reporting.
3.不懂就问本身没错,但你需要在那之前查查手册。
4.当然,你需要懂得使用手册。手册上找不到答案的时候,应该考虑下网络上的搜索引擎。
5.刚学会php+mysql之后,不要叫嚷着要写论坛,要写XXX。要明白,刚学会写汉字并不表示你有能力写诗。
6.在学web编程的时候,你应该先去认识html这个朋友。
7.有点能力后,试着回答新手的问题,不要看到自己懂的而别人不懂就沾沾自喜,扔下一名“简单,那是基本的东西”就走更要不得。
8.思考是一个好习惯,不动手去写就等于空想,什么也没有。
9.写好一段程序,如果觉得很满意,一周后再看一遍,也许你会认为它应该有所改变
10.有空多看看别人的程序,找出他人的不足或优点,自己掂量。
二. 各取所需
1.善于使用“引用”,它能直接影响到程序的效率。
2.善于用三元运算子,可以让程式较精简有效率。
比如:
if ($data[$i][’nickname’])
{
$nickname = $data[$i][’nickname’];
}
else
{
$nickname = $data[$i][’ip’];
}
$nickname = $data[$i][’nickname’] ? $data[$i][’nickname’] : $data[$i][’ip’];
3.善于组织if...else...回圈
比如:
$ext_name = strtolower(str_replace(".", "", strrchr($upfilename, ".")));
if (!empty($type))
{
if (!strpos($type, $ext_name))
{
echo "Please upload the file of $type form.";
exit();
}
}
上面的代码你应该写成这样:
4.尽量让你的代码清淅些
如果写成这样,是比较让人头痛的:
同样的代码,这样就比较让人看得舒服了:
当然,有一定基础后,你应该要写成这样:
5.编写规范的mysql 语句。
字段和表名用"`"引起来,避免保留字的影响。
如果看到下面这样的一个sql query,会让人比较头痛:
同样的一个query,写成这样就令人看得明白得多了:
$query = "SELECT `flash_comment`.`content` , `flash_comment`.`nickname` , `flash_comment`.`date` , `flash_comment`.`ip` , `product`.`p_name` , `sgflash`.`fid`
FROM `flash_comment`
LEFT JOIN `product` ON ( `flash_comment`.`p_no` = `product`.`p_no` )
LEFT JOIN `sgflash` ON ( `product`.`p_name` = `sgflash`.`f_name` )
WHERE `flash_comment`.`p_no` != ’’
ORDER BY `flash_comment`.`date`";
1.不要依赖register_global=ON的环境,从你刚懂得配置php运行环境甚至尚不明白register_global的ON/OFF会对自己有什么影响的那天起,就应该勇敢地把它设为OFF.
2.写程序前看看怎么用error_reporting.
3.不懂就问本身没错,但你需要在那之前查查手册。
4.当然,你需要懂得使用手册。手册上找不到答案的时候,应该考虑下网络上的搜索引擎。
5.刚学会php+mysql之后,不要叫嚷着要写论坛,要写XXX。要明白,刚学会写汉字并不表示你有能力写诗。
6.在学web编程的时候,你应该先去认识html这个朋友。
7.有点能力后,试着回答新手的问题,不要看到自己懂的而别人不懂就沾沾自喜,扔下一名“简单,那是基本的东西”就走更要不得。
8.思考是一个好习惯,不动手去写就等于空想,什么也没有。
9.写好一段程序,如果觉得很满意,一周后再看一遍,也许你会认为它应该有所改变
10.有空多看看别人的程序,找出他人的不足或优点,自己掂量。
二. 各取所需
1.善于使用“引用”,它能直接影响到程序的效率。
2.善于用三元运算子,可以让程式较精简有效率。
比如:
引用
if ($data[$i][’nickname’])
{
$nickname = $data[$i][’nickname’];
}
else
{
$nickname = $data[$i][’ip’];
}
$nickname = $data[$i][’nickname’] ? $data[$i][’nickname’] : $data[$i][’ip’];
3.善于组织if...else...回圈
比如:
$ext_name = strtolower(str_replace(".", "", strrchr($upfilename, ".")));
if (!empty($type))
{
if (!strpos($type, $ext_name))
{
echo "Please upload the file of $type form.";
exit();
}
}
上面的代码你应该写成这样:
$ext_name = strtolower(str_replace(".", "", strrchr($upfilename, ".")));
if (!($type===’’) && strpos($type, $ext_name)===false)
{
echo "Please upload the file of $type form.";
exit();
}
if (!($type===’’) && strpos($type, $ext_name)===false)
{
echo "Please upload the file of $type form.";
exit();
}
4.尽量让你的代码清淅些
如果写成这样,是比较让人头痛的:
$foo=$_post["foo"];
$username=$_post["user"];
$group=$_POST["group"];
if ($group=="wheel"){
$username=$username."wheel";
}
$username=$_post["user"];
$group=$_POST["group"];
if ($group=="wheel"){
$username=$username."wheel";
}
同样的代码,这样就比较让人看得舒服了:
$foo = $_post["foo"];
$username = $_post["username"];
$group = $_POST["group"];
if ($group=="wheel")
{
$username = $username."wheel";
}
$username = $_post["username"];
$group = $_POST["group"];
if ($group=="wheel")
{
$username = $username."wheel";
}
当然,有一定基础后,你应该要写成这样:
$foo = &$_POST[’foo’];
$username = $_POST["group"]!=’wheel’ ? $_POST["username"] : $_POST["username"].’wheel’;
$username = $_POST["group"]!=’wheel’ ? $_POST["username"] : $_POST["username"].’wheel’;
5.编写规范的mysql 语句。
字段和表名用"`"引起来,避免保留字的影响。
如果看到下面这样的一个sql query,会让人比较头痛:
$query="select `flash_comment`.`content` , `flash_comment`.`nickname` , `flash_comment`.`date` , `flash_comment`.`ip` , `product`.`p_name` , `sgflash`.`fid` from `flash_comment` left join `product` on ( `flash_comment`.`p_no` = `product`.`p_no` ) left join `sgflash` on ( `product`.`p_name` = `sgflash`.`f_name` ) where `flash_comment`.`p_no` != ’’ order by `flash_comment`.`date`";
同样的一个query,写成这样就令人看得明白得多了:
$query = "SELECT `flash_comment`.`content` , `flash_comment`.`nickname` , `flash_comment`.`date` , `flash_comment`.`ip` , `product`.`p_name` , `sgflash`.`fid`
FROM `flash_comment`
LEFT JOIN `product` ON ( `flash_comment`.`p_no` = `product`.`p_no` )
LEFT JOIN `sgflash` ON ( `product`.`p_name` = `sgflash`.`f_name` )
WHERE `flash_comment`.`p_no` != ’’
ORDER BY `flash_comment`.`date`";
很多朋友都用虚拟主机来做网站,将网页文件存放在虚拟空间上,但是页面内容一多,网站打开的速度就显得特别慢,如果您碰到这种情况,与其寻求更好的空间,不如通过优化网页代码来取得满意的速度。笔者总结了一些切实可行的方法,制作主页时,以下的方法可以令你的网页速度大大提高。
一、记得帮页面减肥
我们浏览网页实际上是将虚拟主机中的网页内容下载到本地硬盘,再用浏览器解释查看的。下载网页的快慢在显示速度上占了很大比重,所以,网页本身所占的空间越小,那么浏览速度就会越快。这就要求在做网页的时候遵循一切从简的原则,如:不要使用太大的Flash动画、图片等资源。干净、简洁的页面会给人一种思路明朗的感觉。
二、如没必要,尽量使用静态HTML页面
众所周知,ASP、PHP、JSP等程序实现了网页信息的动态交互,运行起来的确非常方便,因为它们的数据交互性好,能很方便地存取、更改数据库的内容,使网站“动”起来,如:论坛、留言板等。但是这类程序必须先由服务器执行处理后,生成HTML页面,然后再“送”往客户端浏览,这就不得不耗费一定的服务器资源。如果在虚拟主机上过多地使用这类程序,网页显示速度肯定会慢,所以没有必要,请尽量使用静态的HTML页面。
三、不要将整个页面内容塞到一个Table中
这是网页设计的问题了,很多站长为了追求页面统一对齐,将整个页面的内容都塞进了一个Table(表格)里,然后再由单元格td来划分各个“块”的布局,这种网站的显示速度是绝对慢的。因为Table要等里面所有的内容都加载完毕后才显示出来的,如果某些内容无法访问,就会拖延整个页面的访问速度。正确的做法是:将内容分割到几个具有相同格局的Table中去,不要全都塞到一个Table里。
四、将ASP、ASPX、PHP等文件的访问改为.js引用
这在ASP、ASPX、PHP等程序设计时应该注意的,如果你要在静态的HTML页面里嵌入动态的数据,而这些动态的数据是由ASP、PHP等程序来提供的话,会使用以下的语句引用: ,这样的话,每次有一个人访问你的网站,服务器就要执行并处理一次tongji.asp文件,从数据库抽取相应的数据,再输出给网页显示,如果有几万个人同时访问,就要执行几万次,后果就可想而知。建议在这些程序中将数据动态生成到一个1.js文件中去,然后在首页通过 < SCRIPT src="http://www.XXX.com/1.js">< /SCRIPT> 这样的代码来引用该1.js文件。这样,数据显示的任务就交给客户端的浏览器去做,不会耗费服务器的资源,显示速度自然就很快;笔者的网站www.25cn.net下有个index3.htm文件,大家可以通过访问www.25cn.net/index3.htm和www.25cn.net做一下比较,前者所花的时间几乎是后者的几倍!
五、使用iframe嵌套另一页面
如果你要在网站上插入一些广告代码,又不想让这些广告网站影响速度的话,那么,使用iframe最合适不过了。方法是:将这些广告代码放到一个独立的页面去,然后在首页用如下的代码将该页面嵌入即可,这样就不会因为广告页面的延迟而拖了整个首页的显示,代码如下:
< IFRAME marginWidth=0 marginHeight=0 src="http://www.ftp8.com/index.asp" frameBorder=0 width=468 scrolling=no height=60 leftmargin="0" topmargin="0">< /IFRAME>
其中htthttp://www.ftp8.com/index.asp是被引用文件的路径。
六、讲究网站计数器代码放置的技巧
在网页里放置计数器可以统计网站的访问流量,为站长和广告商家提供访问依据,但是,不管功能有多强大的网站统计系统,都会有出故障的时候。如果直接把统计代码放到页面内容的前面,或者放在一个Table或者div标签里,那么在计数器不能访问的时候,你的页面上那个Table或者div就会产生几十秒钟的延迟,导致页面很长时间才能访问。所以,要提高网站的速度,就要讲究统计代码放置的位置,正确的方法是:把统计代码放到页面的最下面,并且不要和页面内容同在一个Table或者div标签里。可以在页面代码的最下方直接放置统计代码,或者在最下方单独做一个Table或者div来放置计数器。这样,在计数器不能访问的时候,你的网站速度也不会受到丝毫影响。
七、友情链接的学问
网站之间互相做链接可以增加网站的宣传效果,做LOGO图片链接更能准确地描述网站的主题和定位,宣传效果会大大的增强,但图片链接做得太多,必然会影响网页的显示速度。很多站长都喜欢直接引用友情网站上的图片URL,这样图片要先经过加载才能显示的,各个友情网站的访问速度不一样,整个表格都要等图片都下载完了才能显示出来,这样大大降低了网页的速度。因此,做友情链接时应尽量做到:
1. 只做文字链接:做文字链接是不会延迟网页速度的。
2. 将所有链接放到一个独立的分页去,然后在首页链接上该页。
3. 如果友情链接一定要出现在首页,请将链接所在的整个Table放到页面的最下方,因为页面是由上到下逐行显示的,将其放到页面的最下方,不会延迟其他内容的显示。
4. 友情链接的LOGO图片先下载后再传到自己的网页空间,这样,速度由自己的网站空间决定而不受友情网站的影响。
一、记得帮页面减肥
我们浏览网页实际上是将虚拟主机中的网页内容下载到本地硬盘,再用浏览器解释查看的。下载网页的快慢在显示速度上占了很大比重,所以,网页本身所占的空间越小,那么浏览速度就会越快。这就要求在做网页的时候遵循一切从简的原则,如:不要使用太大的Flash动画、图片等资源。干净、简洁的页面会给人一种思路明朗的感觉。
二、如没必要,尽量使用静态HTML页面
众所周知,ASP、PHP、JSP等程序实现了网页信息的动态交互,运行起来的确非常方便,因为它们的数据交互性好,能很方便地存取、更改数据库的内容,使网站“动”起来,如:论坛、留言板等。但是这类程序必须先由服务器执行处理后,生成HTML页面,然后再“送”往客户端浏览,这就不得不耗费一定的服务器资源。如果在虚拟主机上过多地使用这类程序,网页显示速度肯定会慢,所以没有必要,请尽量使用静态的HTML页面。
三、不要将整个页面内容塞到一个Table中
这是网页设计的问题了,很多站长为了追求页面统一对齐,将整个页面的内容都塞进了一个Table(表格)里,然后再由单元格td来划分各个“块”的布局,这种网站的显示速度是绝对慢的。因为Table要等里面所有的内容都加载完毕后才显示出来的,如果某些内容无法访问,就会拖延整个页面的访问速度。正确的做法是:将内容分割到几个具有相同格局的Table中去,不要全都塞到一个Table里。
四、将ASP、ASPX、PHP等文件的访问改为.js引用
这在ASP、ASPX、PHP等程序设计时应该注意的,如果你要在静态的HTML页面里嵌入动态的数据,而这些动态的数据是由ASP、PHP等程序来提供的话,会使用以下的语句引用: ,这样的话,每次有一个人访问你的网站,服务器就要执行并处理一次tongji.asp文件,从数据库抽取相应的数据,再输出给网页显示,如果有几万个人同时访问,就要执行几万次,后果就可想而知。建议在这些程序中将数据动态生成到一个1.js文件中去,然后在首页通过 < SCRIPT src="http://www.XXX.com/1.js">< /SCRIPT> 这样的代码来引用该1.js文件。这样,数据显示的任务就交给客户端的浏览器去做,不会耗费服务器的资源,显示速度自然就很快;笔者的网站www.25cn.net下有个index3.htm文件,大家可以通过访问www.25cn.net/index3.htm和www.25cn.net做一下比较,前者所花的时间几乎是后者的几倍!
五、使用iframe嵌套另一页面
如果你要在网站上插入一些广告代码,又不想让这些广告网站影响速度的话,那么,使用iframe最合适不过了。方法是:将这些广告代码放到一个独立的页面去,然后在首页用如下的代码将该页面嵌入即可,这样就不会因为广告页面的延迟而拖了整个首页的显示,代码如下:
< IFRAME marginWidth=0 marginHeight=0 src="http://www.ftp8.com/index.asp" frameBorder=0 width=468 scrolling=no height=60 leftmargin="0" topmargin="0">< /IFRAME>
其中htthttp://www.ftp8.com/index.asp是被引用文件的路径。
六、讲究网站计数器代码放置的技巧
在网页里放置计数器可以统计网站的访问流量,为站长和广告商家提供访问依据,但是,不管功能有多强大的网站统计系统,都会有出故障的时候。如果直接把统计代码放到页面内容的前面,或者放在一个Table或者div标签里,那么在计数器不能访问的时候,你的页面上那个Table或者div就会产生几十秒钟的延迟,导致页面很长时间才能访问。所以,要提高网站的速度,就要讲究统计代码放置的位置,正确的方法是:把统计代码放到页面的最下面,并且不要和页面内容同在一个Table或者div标签里。可以在页面代码的最下方直接放置统计代码,或者在最下方单独做一个Table或者div来放置计数器。这样,在计数器不能访问的时候,你的网站速度也不会受到丝毫影响。
七、友情链接的学问
网站之间互相做链接可以增加网站的宣传效果,做LOGO图片链接更能准确地描述网站的主题和定位,宣传效果会大大的增强,但图片链接做得太多,必然会影响网页的显示速度。很多站长都喜欢直接引用友情网站上的图片URL,这样图片要先经过加载才能显示的,各个友情网站的访问速度不一样,整个表格都要等图片都下载完了才能显示出来,这样大大降低了网页的速度。因此,做友情链接时应尽量做到:
1. 只做文字链接:做文字链接是不会延迟网页速度的。
2. 将所有链接放到一个独立的分页去,然后在首页链接上该页。
3. 如果友情链接一定要出现在首页,请将链接所在的整个Table放到页面的最下方,因为页面是由上到下逐行显示的,将其放到页面的最下方,不会延迟其他内容的显示。
4. 友情链接的LOGO图片先下载后再传到自己的网页空间,这样,速度由自己的网站空间决定而不受友情网站的影响。
新闻背景:有报道称,美国一项最新研究发现,许多速溶茶里的氟化物含量超标,过量饮用会引发骨骼氟中毒。美国食品和药品管理局所规定的瓶装水及饮料中每升所含氟化物标准是不得超过2.4ppm,而市场上销售的普通型立顿速溶茶的氟化物为每升含6.5ppm。3月29日,农业部茶叶质量监督检测中心正式公布,被检测的立顿系列产品氟含量全部符合国家标准。
有一家公司想做广告。你知道知道消息后,就去找到正管这家公司税务的地区税务局长,让他带你去见这家公司老板,说你是局长的朋友,想接这个业务。我保证这件业务百分之九十就是你的了。这么说你明白了?权利!这就是权利的威力。如果你认识一个非常有权利的大人物。他只要为你说一句话。那些公司就会抢着来你这里做广告。尤其是那些国有公司,更是如此。他们可没有胆子得罪大人物,那可是事关他的升迁,个人利益的大事。反正都是要做广告,去谁那里做还不是一样。何必因此得罪实力派呢!因此要搞好和那些上层实力派的关系,这个最重要了!我们业务部最主要的工作,就是和那些实力派搞好关系。记住了,千万不能得罪那些大人物,要和他们搞好关系,让他们为你服务。这就是做好广告公司的真正秘诀。没有关系,那你的广告公司很难经营下去,趁早关门得了。不然就是倾家荡产的结果。这回明白了?
“人的一生就像是我们头上的这片天空,总会有黑云,总会刮狂风,下大雨。但是乌云不会永远遮蔽太阳,风雨也总有停止之时。那时,我们就又可以开心地沐浴阳光,欣赏美丽的繁星。要相信生活里充满的不都是暴风雪,也有风和日丽,阳光灿烂。如果淋了一场雨,就不敢再出门,那是很不明智,很愚蠢的。有一首歌唱得很好,‘阳光总在风雨后,请相信有彩虹,’暴风雨过后,我们迎来的不就是那美丽的彩虹吗?失去了并不可怕,既然不能在一起,就说明你的缘分还没有真正到来,那就该再去寻找。不要在一棵树上吊死,更不能为了一棵腐朽的树,就对整个森林都失去希望。记住,百步之内必有芳草!”
中行:我一天可以印好几百万人民币
教育局:呵!印了多少张??
中行:一百元的几万张啊
教育局:浪费!!!
中行:???
教育局:还不如我开机几秒印几张毕业证快。
教育产业化~~~~~~~~~~~~~~~~~~~~~!!!
教育局:呵!印了多少张??
中行:一百元的几万张啊
教育局:浪费!!!
中行:???
教育局:还不如我开机几秒印几张毕业证快。
教育产业化~~~~~~~~~~~~~~~~~~~~~!!!
【1】页面之间无法传递变量 get,post,session在最新的php版本中自动全局变量是关闭的,所以要从上一页面取得提交过来得变量要使用$_GET['foo'],$_POST['foo'],$_SESSION['foo']来得到。当然也可以修改自动全局变量为开(php.ini改为register_globals = On);考虑到兼容性,还是强迫自己熟悉新的写法比较好。
【2】Win32下apache2 用get方法传递中文参数会出错:
test.php?a=你好&b=你也好
传递参数是会导致一个内部错误
解决办法:"test.php?a=".urlencode(你好)."&b=".urlencode(你也好)
.............
【3】win32下的session不能正常工作
php.ini默认的session.save_path = /tmp
这显然是linux下的配置,win32下php无法读写session文件导致session无法使用,把它改成一个绝对路径就可以了,例如session.save_path = c:windows emp
【4】显示错误信息
当php.ini的display_errors = On并且error_reporting = E_ALL时,将显示所有的错误和提示,调试的时候最好打开以便纠错,如果你用以前php写法错误信息多半是关于未定义变量的。变量在赋值以前调用会有提示,解决办法是探测或者屏蔽。
例如显示$foo,可以if(isset($foo)) echo $foo 或者echo @$foo
【5】Win32下mail()不能发送电子邮件
在linux下配置好的sendmail可以发送,在win32下需要调用smtp服务器来发送电子邮件,修改php.ini的SMTP = ip //ip是不带验证功能的smtp服务器(网上很难找到)
php发送邮件的最好解决方法是用socket直接发送到对方email服务器而不用转发服务器。
【6】初装的mysql如果没有设置密码,应该使用update mysql.user set password="yourpassword" where user="root" 修改密码
【7】header already sent
这个错误通常会在你使用HEADER的时候出现,他可能是几种原因:1,你在使用HEADER前PRING或者ECHO了2.你当前文件前面有空行3.你可能INCLUDE了一个文件,该文件尾部有空行或者输出也会出现这种错误。!
【8】更改php.ini后没有变化
重新启动web server,比如IIS,Apache等等,然后才会应用最新的设置。
【9】php在2003上面安装(ISAPI的安装方法恳请高手指教)
PHP4的php4isapi.dll好像和2003有些冲突,只能用CGI模式安装
步骤一,先www.php.net 下在一个安装程序,我是装的是:php-4.2.3-installer.exe,你也可以去找最新的版本,在安装php-4.2.3-installer.exe之前保证你的IIS6.0启动了,并能够访问。安装好以后,在默认网站-->应用程序配置。
步骤二:点击 web服务扩展 -->新建web服务扩展。
步骤三: 扩展名-->php,然后添加
步骤四:找到php.exe的路径添加上去。
步骤五: 确定就可以了!
步骤六: 选择php的服务扩展,然后点击允许。
【10】有时候sql语句不起作用,对数据库操作失败,最简便的调试方法,echo那句sql,看看变量的值能得到不。
【11】include和require的区别
两者没有太大的区别,如果要包含的文件不存在,include提示notice,然后继续执行下面的语句,require提示致命错误并且退出。
据我测试,win32平台下它们都是先包含后执行,所以被包含文件里最好不要再有include或require语句,这样会造成目录混乱。或许*nux下情况不同,暂时还没测试。
如果一个文件不想被包含多次可以使用include_once或require_once## 读取,写入文档数据。
function r($file_name) {
$filenum=@fopen($file_name,"r");
@flock($filenum,LOCK_SH);
$file_data=@fread($filenum,filesize($file_name));
@fclose($filenum);
return $file_data;
}
function w($file_name,$data,$method="w"){
$filenum=@fopen($file_name,$method);
flock($filenum,LOCK_EX);
$file_data=fwrite($filenum,$data);
fclose($filenum);
return $file_data;
}
【12】isset()和empty()的区别
两者都是测试变量用的,但是isset()是测试变量是否被赋值,而empty()是测试一个已经被赋值的变量是否为空。
如果一个变量没被赋值就引用在php里是被允许的,但会有notice提示,如果一个变量被赋空值,$foo=""或者$foo=0或者 $foo=false,那么empty($foo)返回真,isset($foo)也返回真,就是说赋空值不会注销一个变量。
要注销一个变量,可以用 unset($foo)或者$foo=NULL
【13】mysql查询语句包含有关键字
php查询mysql的时候,有时候mysql表名或者列名会有关键字,这时候查询会有错误。例如表名是order,查询时候会出错,简单的办法是sql语句里表名或者列名加上`[tab键上面]来加以区别,例如select * from `order`
【14】通过HTTP协议一次上传多个文件的方法
有两个思路,是同一个方法的两种实现。具体程序还需自己去设计。
1、在form中设置多个文件输入框,用数组命名他们的名字,如下:
<form action="" method=post>
<input type=file name=usefile[]>
<input type=file name=usefile[]>
<input type=file name=usefile[]>
</form>
这样,在服务器端做以下测试:
echo "<pre>";
print_r($_FILES);
echo "</pre>";
2、在form中设置多个文件输入框,但名字不同,如下:
<form action="" method=post>
<input type=file name=usefile_a>
<input type=file name=usefile_b>
<input type=file name=usefile_c>
</form>
在服务器端做同样测试:
echo "<pre>";
print_r($_FILES);
echo "</pre>";
【2】Win32下apache2 用get方法传递中文参数会出错:
test.php?a=你好&b=你也好
传递参数是会导致一个内部错误
解决办法:"test.php?a=".urlencode(你好)."&b=".urlencode(你也好)
.............
【3】win32下的session不能正常工作
php.ini默认的session.save_path = /tmp
这显然是linux下的配置,win32下php无法读写session文件导致session无法使用,把它改成一个绝对路径就可以了,例如session.save_path = c:windows emp
【4】显示错误信息
当php.ini的display_errors = On并且error_reporting = E_ALL时,将显示所有的错误和提示,调试的时候最好打开以便纠错,如果你用以前php写法错误信息多半是关于未定义变量的。变量在赋值以前调用会有提示,解决办法是探测或者屏蔽。
例如显示$foo,可以if(isset($foo)) echo $foo 或者echo @$foo
【5】Win32下mail()不能发送电子邮件
在linux下配置好的sendmail可以发送,在win32下需要调用smtp服务器来发送电子邮件,修改php.ini的SMTP = ip //ip是不带验证功能的smtp服务器(网上很难找到)
php发送邮件的最好解决方法是用socket直接发送到对方email服务器而不用转发服务器。
【6】初装的mysql如果没有设置密码,应该使用update mysql.user set password="yourpassword" where user="root" 修改密码
【7】header already sent
这个错误通常会在你使用HEADER的时候出现,他可能是几种原因:1,你在使用HEADER前PRING或者ECHO了2.你当前文件前面有空行3.你可能INCLUDE了一个文件,该文件尾部有空行或者输出也会出现这种错误。!
【8】更改php.ini后没有变化
重新启动web server,比如IIS,Apache等等,然后才会应用最新的设置。
【9】php在2003上面安装(ISAPI的安装方法恳请高手指教)
PHP4的php4isapi.dll好像和2003有些冲突,只能用CGI模式安装
步骤一,先www.php.net 下在一个安装程序,我是装的是:php-4.2.3-installer.exe,你也可以去找最新的版本,在安装php-4.2.3-installer.exe之前保证你的IIS6.0启动了,并能够访问。安装好以后,在默认网站-->应用程序配置。
步骤二:点击 web服务扩展 -->新建web服务扩展。
步骤三: 扩展名-->php,然后添加
步骤四:找到php.exe的路径添加上去。
步骤五: 确定就可以了!
步骤六: 选择php的服务扩展,然后点击允许。
【10】有时候sql语句不起作用,对数据库操作失败,最简便的调试方法,echo那句sql,看看变量的值能得到不。
【11】include和require的区别
两者没有太大的区别,如果要包含的文件不存在,include提示notice,然后继续执行下面的语句,require提示致命错误并且退出。
据我测试,win32平台下它们都是先包含后执行,所以被包含文件里最好不要再有include或require语句,这样会造成目录混乱。或许*nux下情况不同,暂时还没测试。
如果一个文件不想被包含多次可以使用include_once或require_once## 读取,写入文档数据。
function r($file_name) {
$filenum=@fopen($file_name,"r");
@flock($filenum,LOCK_SH);
$file_data=@fread($filenum,filesize($file_name));
@fclose($filenum);
return $file_data;
}
function w($file_name,$data,$method="w"){
$filenum=@fopen($file_name,$method);
flock($filenum,LOCK_EX);
$file_data=fwrite($filenum,$data);
fclose($filenum);
return $file_data;
}
【12】isset()和empty()的区别
两者都是测试变量用的,但是isset()是测试变量是否被赋值,而empty()是测试一个已经被赋值的变量是否为空。
如果一个变量没被赋值就引用在php里是被允许的,但会有notice提示,如果一个变量被赋空值,$foo=""或者$foo=0或者 $foo=false,那么empty($foo)返回真,isset($foo)也返回真,就是说赋空值不会注销一个变量。
要注销一个变量,可以用 unset($foo)或者$foo=NULL
【13】mysql查询语句包含有关键字
php查询mysql的时候,有时候mysql表名或者列名会有关键字,这时候查询会有错误。例如表名是order,查询时候会出错,简单的办法是sql语句里表名或者列名加上`[tab键上面]来加以区别,例如select * from `order`
【14】通过HTTP协议一次上传多个文件的方法
有两个思路,是同一个方法的两种实现。具体程序还需自己去设计。
1、在form中设置多个文件输入框,用数组命名他们的名字,如下:
<form action="" method=post>
<input type=file name=usefile[]>
<input type=file name=usefile[]>
<input type=file name=usefile[]>
</form>
这样,在服务器端做以下测试:
echo "<pre>";
print_r($_FILES);
echo "</pre>";
2、在form中设置多个文件输入框,但名字不同,如下:
<form action="" method=post>
<input type=file name=usefile_a>
<input type=file name=usefile_b>
<input type=file name=usefile_c>
</form>
在服务器端做同样测试:
echo "<pre>";
print_r($_FILES);
echo "</pre>";
[品 名] 民间俗称老公,正式场合可称丈夫或夫婿;古称相公。
[成 分] 水.血液和脂肪类碳水混合物。
[形 状] 本品为细长条块状糖衣片,表面涂层一般为甜言.蜜语等不实物。
除去后呈浅褐色,外观与除去前略有差异;本品随时间推移会有
所改变,出现驼背.秃顶等现象,但不影响继续使用。
[功能主治] 主治单身恐惧症及母爱泛滥等顽疾,对失恋和相思病也有明显效果。
[用法用量] 建议一生一片。
[注意事项] 本品仅适用于成年单身女性。服用时需小心谨慎,如药品导致使用
者出现鼻青.脸肿等现象,则必须马上停止服用,没有则可以继续使用。
[规 格] 通常为65千克至75千克,如出现特殊情况,请找健康医生处理。
[保 存] 常温下妥善保存,室内通风处最佳;如在室外,则需避免女性成群处。
使用期间,尤忌本品夜不归宿。
[包 装] 各种西服.休闲服。随季节变化随时更换。
[有 效 期] 视幸福程度而定,最长可达一生;最短,一天也可能失效。
[批准文号] 正式批准文号见钻戒说明书内页。
[生产企业] 民政局社区服务中心。
[禁 忌] 无论什么时候,都不能说窝囊。
[特别提示] 重感情的女性要小心使用,否则随时会出现心乱.心伤或心碎等现象。
[成 分] 水.血液和脂肪类碳水混合物。
[形 状] 本品为细长条块状糖衣片,表面涂层一般为甜言.蜜语等不实物。
除去后呈浅褐色,外观与除去前略有差异;本品随时间推移会有
所改变,出现驼背.秃顶等现象,但不影响继续使用。
[功能主治] 主治单身恐惧症及母爱泛滥等顽疾,对失恋和相思病也有明显效果。
[用法用量] 建议一生一片。
[注意事项] 本品仅适用于成年单身女性。服用时需小心谨慎,如药品导致使用
者出现鼻青.脸肿等现象,则必须马上停止服用,没有则可以继续使用。
[规 格] 通常为65千克至75千克,如出现特殊情况,请找健康医生处理。
[保 存] 常温下妥善保存,室内通风处最佳;如在室外,则需避免女性成群处。
使用期间,尤忌本品夜不归宿。
[包 装] 各种西服.休闲服。随季节变化随时更换。
[有 效 期] 视幸福程度而定,最长可达一生;最短,一天也可能失效。
[批准文号] 正式批准文号见钻戒说明书内页。
[生产企业] 民政局社区服务中心。
[禁 忌] 无论什么时候,都不能说窝囊。
[特别提示] 重感情的女性要小心使用,否则随时会出现心乱.心伤或心碎等现象。
顾名思义,唯物主义就是唯现实物质为自己的主义.没有道德的底线,不受传统文化约束。做了亏心事也不怕鬼敲门,因为不相信有鬼!做了缺德事也不怕进地狱,因为不相信有地狱!以什么来制约中国人呢?以前或许有毛主席来制约,做了坏事或思想肮脏怕对不起毛主席,可是现在毛主席死了,还有什么可以拿来制约?
有些事法制是管不了的.
譬如说看到有人落水而不去救,要给多少多少钱才去救,这种事是发生过的.要是法律制定出见死不救判多少年那还有约束力,可这不现实啊.因为没有信仰,不相信善有善报所以才有这种事的发生,要是有:救人一命胜造七级浮屠的观念那就会拼着命也要下水了.
一个国家里的绝大多数人没有了信仰,那么,人之内心的潘多拉的盒子就要打开了.中国人就变成了真正的以自我为中心的人,即:"人人为我,我也为我".
宗教信仰不是一无是处,这也是宗教至今能够合理存在的理由.如果人没有信仰只相信自己,那么作为一种动物,人的自私,贪婪,野蛮的一面就会无节制的表现出来.
唯心主义靠不靠得住,我看在这个问题我们谁也没有资格说话.没有证据证明有神的存在也没有证据证明不存在神.科学上不能解释的事情何止千千万万.重要的是我们要看到唯心主义之存在的合理性.合理了,理所的东西当然就会有存在.
打一个比方
没有人看到过上帝,照理说上帝主宰着人类这样的说法在唯物主义里是无稽之谈.但是基督教或者说是天主教在西欧就普遍为人接受.我们常常在电影里看到信徒在教堂向神父忏悔的镜头,忏悔的人说出自己的罪孽请求神的宽恕,在得到神父引经据典的教诲后可以放下包袱重新振作起来生活.这样的宗教使得人们能摆脱烦恼最重要的是教导人们人心向善,无形中就对树立良好道德观起到了一个作用.
医学治病,信仰治心,我觉得这样的唯心主义的存在是合理的,也是必要的.就像童话本身就是吹牛的东西,但小孩子听了以后会从中得到善恶之分,会得到情操的培养甚至可以树立远大理想.
所以,小孩子需要童话,而成人就需要信仰.
我常常批评中国人的道德沦丧和低素质,造成这种局面的原因有许许多多,但关键原因就在于1.中共几十年的唯物主义宣传.2市场经济
我不是在批判唯物主义本身,我说的是由于常年累月的洗脑,唯物主义在中国人脑中已经扎根.中国建国后许多年都不许有宗教的出现,自然就不会有人敢去信宗教.唯一可以信的就是共产主义.如今,共产主义也没人信了一下子就找不到东西可以信了.
另外一原因就是市场经济,在没有信仰的前提下搞市场经济就催发人的自私,贪婪,使得人性里肮脏的一面得到无限制的散发.人没有了信仰道德标准从何而来?没有道德标准了那么就自己来做标准.这样的标准因个人而异,其结果只能是标准越做越低.
现在有很多人开始信佛,但不知道怎么样做才算好.总是做不规范.长期缺少这方面的文化信息了,各人都凭自己的感觉去做.
去庙里烧香抽签都不知道怎么抽,怎么按什么顺序点蜡烛,怎样放供品很多连五六十岁的人都不知道.这些在号称有五千年历史的中国是无论如何也说不过去的.历史去哪里了?文化传统还有多少保存着?
有些还属于迷信.如,88就是发发的意思,拥有一个8888的汽车牌照那真是得意非凡.碰到44就不高兴.当然,不吉利的数字人人都不怎么喜欢,国外也一样.但中国人就太神经过敏了.电话号码里含有4的数字就不行,要吵着换.记得有个报道说过这样一件事,有人买东西被找了44块钱,他情愿丢掉一块钱也不愿承认被找了44块钱的事实.迷信到这种程度也是中国一大特色了.相信这类事在每个人周围都发生过,这种愚昧的举动反映了国人的心态,就是缺少信仰的结果,就是自己做标准的结果。
要想提高中国人的素质就要首先让中国人有信仰,中国人要抛弃唯物主义观念多注入一些传统思想,对宗教信仰多一点宽容.是时候了,中华民族已经真正到了最危险的时候!
有些事法制是管不了的.
譬如说看到有人落水而不去救,要给多少多少钱才去救,这种事是发生过的.要是法律制定出见死不救判多少年那还有约束力,可这不现实啊.因为没有信仰,不相信善有善报所以才有这种事的发生,要是有:救人一命胜造七级浮屠的观念那就会拼着命也要下水了.
一个国家里的绝大多数人没有了信仰,那么,人之内心的潘多拉的盒子就要打开了.中国人就变成了真正的以自我为中心的人,即:"人人为我,我也为我".
宗教信仰不是一无是处,这也是宗教至今能够合理存在的理由.如果人没有信仰只相信自己,那么作为一种动物,人的自私,贪婪,野蛮的一面就会无节制的表现出来.
唯心主义靠不靠得住,我看在这个问题我们谁也没有资格说话.没有证据证明有神的存在也没有证据证明不存在神.科学上不能解释的事情何止千千万万.重要的是我们要看到唯心主义之存在的合理性.合理了,理所的东西当然就会有存在.
打一个比方
没有人看到过上帝,照理说上帝主宰着人类这样的说法在唯物主义里是无稽之谈.但是基督教或者说是天主教在西欧就普遍为人接受.我们常常在电影里看到信徒在教堂向神父忏悔的镜头,忏悔的人说出自己的罪孽请求神的宽恕,在得到神父引经据典的教诲后可以放下包袱重新振作起来生活.这样的宗教使得人们能摆脱烦恼最重要的是教导人们人心向善,无形中就对树立良好道德观起到了一个作用.
医学治病,信仰治心,我觉得这样的唯心主义的存在是合理的,也是必要的.就像童话本身就是吹牛的东西,但小孩子听了以后会从中得到善恶之分,会得到情操的培养甚至可以树立远大理想.
所以,小孩子需要童话,而成人就需要信仰.
我常常批评中国人的道德沦丧和低素质,造成这种局面的原因有许许多多,但关键原因就在于1.中共几十年的唯物主义宣传.2市场经济
我不是在批判唯物主义本身,我说的是由于常年累月的洗脑,唯物主义在中国人脑中已经扎根.中国建国后许多年都不许有宗教的出现,自然就不会有人敢去信宗教.唯一可以信的就是共产主义.如今,共产主义也没人信了一下子就找不到东西可以信了.
另外一原因就是市场经济,在没有信仰的前提下搞市场经济就催发人的自私,贪婪,使得人性里肮脏的一面得到无限制的散发.人没有了信仰道德标准从何而来?没有道德标准了那么就自己来做标准.这样的标准因个人而异,其结果只能是标准越做越低.
现在有很多人开始信佛,但不知道怎么样做才算好.总是做不规范.长期缺少这方面的文化信息了,各人都凭自己的感觉去做.
去庙里烧香抽签都不知道怎么抽,怎么按什么顺序点蜡烛,怎样放供品很多连五六十岁的人都不知道.这些在号称有五千年历史的中国是无论如何也说不过去的.历史去哪里了?文化传统还有多少保存着?
有些还属于迷信.如,88就是发发的意思,拥有一个8888的汽车牌照那真是得意非凡.碰到44就不高兴.当然,不吉利的数字人人都不怎么喜欢,国外也一样.但中国人就太神经过敏了.电话号码里含有4的数字就不行,要吵着换.记得有个报道说过这样一件事,有人买东西被找了44块钱,他情愿丢掉一块钱也不愿承认被找了44块钱的事实.迷信到这种程度也是中国一大特色了.相信这类事在每个人周围都发生过,这种愚昧的举动反映了国人的心态,就是缺少信仰的结果,就是自己做标准的结果。
要想提高中国人的素质就要首先让中国人有信仰,中国人要抛弃唯物主义观念多注入一些传统思想,对宗教信仰多一点宽容.是时候了,中华民族已经真正到了最危险的时候!
姓名:朱元璋 别名(外号):朱重八、朱国瑞
性别:男
民族:汉
血型:?
学历:无文凭,秀才举人进士统统的不是,后曾自学过
职业:皇帝
家庭出身:(至少三代)贫农
生卒:1328-1398
最喜欢的颜色:黄色(这个好像没得选)
社会关系:父亲:朱五四 农民
母亲:陈氏 农民(不好意思,史书中好像没有她的名字)
座右铭:你的就是我的,我的还是我的
主要经历:
1328年——1344年 放牛
1344年——1347年 做和尚,主要工作是出去讨饭(这个。。。)
1347 年——1352年 做和尚 主要工作是撞钟
1352年——1368年 造反(这个猛)
1368年——1398年 主要工作是做皇帝
性别:男
民族:汉
血型:?
学历:无文凭,秀才举人进士统统的不是,后曾自学过
职业:皇帝
家庭出身:(至少三代)贫农
生卒:1328-1398
最喜欢的颜色:黄色(这个好像没得选)
社会关系:父亲:朱五四 农民
母亲:陈氏 农民(不好意思,史书中好像没有她的名字)
座右铭:你的就是我的,我的还是我的
主要经历:
1328年——1344年 放牛
1344年——1347年 做和尚,主要工作是出去讨饭(这个。。。)
1347 年——1352年 做和尚 主要工作是撞钟
1352年——1368年 造反(这个猛)
1368年——1398年 主要工作是做皇帝
最近做东西,老是想赶,连学东西也是如此,怕什么时候就变成一个自大的人了!不知道身边的朋友是怎么看的,我自己有这一种感觉!沉不住气!~
要不要什么心理,可以使自己的东西学好呢,似乎是不要的,希望自己能慢慢的就是了!
要不要什么心理,可以使自己的东西学好呢,似乎是不要的,希望自己能慢慢的就是了!
DanceFire,为了建立国人自己的操作系统远赋海外求学。有多年Linux使用经验,因为研究麒麟操作系统而开始接触FreeBSD。近日,因一篇《麒麟操作系统内核同其他操作系统内核的相似性分析》在CSDN网站引起轰动。近日,CSDN与其就国产操作系统的发展等问题进行了探讨,下面是采访记录。
上海市第二中级人民法院
刑 事 判 决 书
(2003)沪二中刑初字第136号
公诉机关上海市人民检察院第二分院。
被告人郑恩宠,男,1950年9月2日出生于上海市,汉族,大学文化程度,原系上海市敏鉴律师事务所工作人员,住本市晋元路88弄1号楼1406 室,户籍所在地本市茅台路200弄3号504室。因本案于2003年6月6日被刑事拘留,同年6月18日被逮捕;现羁押于上海市看守所。
辩护人郭 * *,上海市天易律师事务所律师。
辩护人张思之,北京市吴栾赵阎律师事务所律师。
上海市人民检察院第二分院以沪检二分刑诉一字(2003)第91号起诉书指控被告人郑恩宠犯为境外非法提供国家秘密罪,于2003年8月15日向本院提起公诉。本院依法组成合议庭,因本案涉及国家秘密,依法进行了不公开开庭审理。上海市人民检察院第二分院指派检察员袁汉钧、王利、代理检察员许靖出庭支持公诉,被告人郑恩宠及其辩护人郭国汀、张思之到庭参加诉讼,本案依法延长审限一个月,现已审理终结。
上海市人民检察院第二分院指控:
被告人郑恩宠于2003年5月下旬,从民警徐某处获悉本市公安机关处置上海益民食品一厂突发性群体事件出警情况的秘密后,作了记录、整理,并于同月23日上午在其晋元路住处,以手写稿的形式将上述秘密传真给在美国纽约的“中国人权”组织。郑恩宠为确保该秘密送达,又于当晚将上述秘密以电子邮件的方式发送给“中国人权”组织。经上海市国家保密局鉴定,上述秘密属机密级国家秘密。
2003年5月28日,被告人郑恩宠在其晋元路住处,将新华社2003年第17期《内参选编》中的《强行拆迁引发冲突,记者采访遭遇围攻》一文的复印件传真给“中国人权”组织,并在该复印件上亲笔注明“新华社内参稿,望引用”。经上海市国家保密局鉴定,上述文件属秘密级国家秘密。
上海市人民检察院第二分院向本院移送了证实以上事实的书证、证人证言和被告人供述等证据,认为被告人郑恩宠的行为已触犯《中华人民共和国刑法》第一百一十一条的规定,提请以为境外非法提供国家秘密罪追究其刑事责任。
被告人郑恩宠及其辩护人对公诉机关指控郑将上述文稿提供给境外组织的事实不持异议,但均辩称郑恩宠不明知上述文稿属于国家秘密;也没有向境外提供国家秘密的故意,且境外组织并未收到郑提供的文稿,所以未造成后果,公诉机关指控郑恩宠的罪名不能成立。
经审理查明:
2003年5月28日,被告人郑恩宠在晋元路住处,在获得的新华社出版的《内参选编》2003年第17期中《强行拆迁引发冲突,记者采访遭遇围攻》一文的复印件上,加注“新华社内参稿,望引用。郑”等文字后,传真给在美国纽约的“中国人权”组织。该复印件在案发后被公安机关查获,经上海市国家保密局鉴定,《强行拆迁引发冲突,记者采访遭遇围攻》的材料,属秘密级国家秘密。
此外,被告人郑恩宠还于2003年5月下旬,将获得的本市公安机关处置群体事件的出警情况整理成文,通过传真和以电子邮件的方式发送给境外机构。
证实上述事实的证据有:
证人薛民春证实,因郑恩宠把一篇有关郑的采访文章交薛民春向境外媒体提供,薛遂于2003年1月将该文章传真给了在美国纽约的“中国人权”组织,随后收到了该组织署名刘青的回复传真。薛民春便将该传真送给郑恩宠看,并告知郑在美国纽约的“中国人权”组织会与其联系,郑复印了一份留下。
落款为“刘青2003.1.29”、在美国纽约的“中国人权”组织传真复印件上载明了该组织的电话号码、传真号码、刘青的助手是焦先生。
上海市国家安全局出具的《关于“中国人权”组织及“中国人权”主席刘青、主席助理焦柏固的证明材料》证实,“中国人权”组织是在美国纽约成立和办公的组织,由刘青任主席,焦柏固任主席助理。
证人赵汉祥证实,2003年5月28日下午3时许,赵至郑恩宠住处交给其一份新华社《内参选编》的复印件。
被告人郑恩宠供述,《内参选编》是内部参考文章,非高级别的公务人员是看不到的。郑还供述了其与“中国人权”组织及焦柏固联系的电话号码、传真号码、焦柏固的电子邮件地址。此外,郑恩宠对其于2003年5月28日在住处把新华社《内参选编》中《强行拆迁引发冲突,记者采访遭遇围攻》一文,传真给 “中国人权”组织的事实供认不讳。
公安机关的《搜查笔录》、《扣押物品、文件清单》证实,从本市晋元路88弄1号楼1406室郑恩宠住处查获了新华社《内参选编》第17期中《强行拆迁引发冲突,记者采访遭遇围攻》一文的复印件(标有“焦:新华社内参稿,望引用。郑”的手写字体)。
上海市公安局的《文检鉴定书》证实,上述复印件上的手写字迹均是郑恩宠所写。
新华通讯社上海分社出具的《证明材料》证实,《强行拆迁引发冲突,记者采访遭遇围攻》一文系该分社记者采写,刊登于新华社出版的《内参选编》2003年4月30日第17期上。
上海市国家保密局的《密级鉴定书》证实,郑恩宠向境外提供的《强行拆迁引发冲突,记者采访遭遇围攻》的材料,系出自《内参选编》(秘密级)2003年第17期,属于秘密级国家秘密。
国家保密局的 《关于上海市保密局对郑恩宠案所作密级鉴定有关问题的复函》确认了以上密级鉴定为有效。
证人薛利莉证实,其于2003年5月28日在郑恩宠住处帮助郑发送过多份材料,收件人姓焦。
上海市电信有限公司保卫处提供的住宅电话注册登记信息证实,电话号码63804774的用户名为郑恩宠,装机地址为晋元路88弄1号楼1406室。
中国联合通信有限公司数据与固定通信业务部提供的电话用户通讯记录清单证实,2003年5月28日,电话号码63804774与在美国纽约“中国人权”组织电话号码之间曾有多次联络。
以上证据均经当庭出示、质证,查证属实,本院予以确认。
本院认为,被告人郑恩宠将国家秘密非法传真给境外组织,其行为已构成为境外非法提供国家秘密罪,尚属情节较轻。公诉机关指控的罪名成立。根据被告人郑恩宠的文化程度、社会阅历及其所从事的职业,结合郑向在美国纽约的“中国人权”组织传真前述文章时特意加注“新华社内参稿,望引用”等文字以引起对方重视的行为,以及郑到案后曾作的《内参选编》是内部参考文章,非高级别公务人员看不到的供述,郑主观上具有为境外非法提供国家秘密的故意。故对郑恩宠及其辩护人提出的郑不明知国家秘密及没有向境外提供秘密之故意的辩解和辩护意见不予采信。被告人郑恩宠向境外提供国家秘密的行为,具有社会危害性,至于境外组织是否收到,损害国家利益的实际后果是否产生,并不影响本罪的成立。因此对郑恩宠及其辩护人关于郑恩宠提供的文章境外组织未收到,没有造成后果,不构成犯罪的辩解和辩护意见不予采纳。为维护社会秩序,保卫国家安全,依照《中华人民共和国刑法》第一百一十一条、第五十六条第一款、第五十五条第一款、第六十四条以及《最高人民法院关于审理为境外窃取、刺探、收买、非法提供国家秘密、情报案件具体应用法律若干问题的解释》第一条、第四条、第五条之规定,判决如下:
一、被告人郑恩宠犯为境外非法提供国家秘密罪,判处有期徒刑三年,剥夺政治权利一年。
(刑期从判决执行之日期计算。判决执行以前先行羁押的,羁押一日折抵刑期一日,即自二00三年六月六日起至二00六年六月五日止)。
二、查获的犯罪工具、涉及国家秘密的材料等予以没收。
如不服本判决,可在接到判决书的第二日起十日内,通过本院或者直接向上海市高级人民法院提出上诉。书面上诉的,应当提交上诉状正本一份,副本一份。
审 判 长 沈行恺
审 判 员 王宇展
代理审判员 蒋征宇
上海市第二中级人民法院
二00三年十月二十八日
书 记 员 董 玮
书 记 员 李 姝
刑 事 判 决 书
(2003)沪二中刑初字第136号
公诉机关上海市人民检察院第二分院。
被告人郑恩宠,男,1950年9月2日出生于上海市,汉族,大学文化程度,原系上海市敏鉴律师事务所工作人员,住本市晋元路88弄1号楼1406 室,户籍所在地本市茅台路200弄3号504室。因本案于2003年6月6日被刑事拘留,同年6月18日被逮捕;现羁押于上海市看守所。
辩护人郭 * *,上海市天易律师事务所律师。
辩护人张思之,北京市吴栾赵阎律师事务所律师。
上海市人民检察院第二分院以沪检二分刑诉一字(2003)第91号起诉书指控被告人郑恩宠犯为境外非法提供国家秘密罪,于2003年8月15日向本院提起公诉。本院依法组成合议庭,因本案涉及国家秘密,依法进行了不公开开庭审理。上海市人民检察院第二分院指派检察员袁汉钧、王利、代理检察员许靖出庭支持公诉,被告人郑恩宠及其辩护人郭国汀、张思之到庭参加诉讼,本案依法延长审限一个月,现已审理终结。
上海市人民检察院第二分院指控:
被告人郑恩宠于2003年5月下旬,从民警徐某处获悉本市公安机关处置上海益民食品一厂突发性群体事件出警情况的秘密后,作了记录、整理,并于同月23日上午在其晋元路住处,以手写稿的形式将上述秘密传真给在美国纽约的“中国人权”组织。郑恩宠为确保该秘密送达,又于当晚将上述秘密以电子邮件的方式发送给“中国人权”组织。经上海市国家保密局鉴定,上述秘密属机密级国家秘密。
2003年5月28日,被告人郑恩宠在其晋元路住处,将新华社2003年第17期《内参选编》中的《强行拆迁引发冲突,记者采访遭遇围攻》一文的复印件传真给“中国人权”组织,并在该复印件上亲笔注明“新华社内参稿,望引用”。经上海市国家保密局鉴定,上述文件属秘密级国家秘密。
上海市人民检察院第二分院向本院移送了证实以上事实的书证、证人证言和被告人供述等证据,认为被告人郑恩宠的行为已触犯《中华人民共和国刑法》第一百一十一条的规定,提请以为境外非法提供国家秘密罪追究其刑事责任。
被告人郑恩宠及其辩护人对公诉机关指控郑将上述文稿提供给境外组织的事实不持异议,但均辩称郑恩宠不明知上述文稿属于国家秘密;也没有向境外提供国家秘密的故意,且境外组织并未收到郑提供的文稿,所以未造成后果,公诉机关指控郑恩宠的罪名不能成立。
经审理查明:
2003年5月28日,被告人郑恩宠在晋元路住处,在获得的新华社出版的《内参选编》2003年第17期中《强行拆迁引发冲突,记者采访遭遇围攻》一文的复印件上,加注“新华社内参稿,望引用。郑”等文字后,传真给在美国纽约的“中国人权”组织。该复印件在案发后被公安机关查获,经上海市国家保密局鉴定,《强行拆迁引发冲突,记者采访遭遇围攻》的材料,属秘密级国家秘密。
此外,被告人郑恩宠还于2003年5月下旬,将获得的本市公安机关处置群体事件的出警情况整理成文,通过传真和以电子邮件的方式发送给境外机构。
证实上述事实的证据有:
证人薛民春证实,因郑恩宠把一篇有关郑的采访文章交薛民春向境外媒体提供,薛遂于2003年1月将该文章传真给了在美国纽约的“中国人权”组织,随后收到了该组织署名刘青的回复传真。薛民春便将该传真送给郑恩宠看,并告知郑在美国纽约的“中国人权”组织会与其联系,郑复印了一份留下。
落款为“刘青2003.1.29”、在美国纽约的“中国人权”组织传真复印件上载明了该组织的电话号码、传真号码、刘青的助手是焦先生。
上海市国家安全局出具的《关于“中国人权”组织及“中国人权”主席刘青、主席助理焦柏固的证明材料》证实,“中国人权”组织是在美国纽约成立和办公的组织,由刘青任主席,焦柏固任主席助理。
证人赵汉祥证实,2003年5月28日下午3时许,赵至郑恩宠住处交给其一份新华社《内参选编》的复印件。
被告人郑恩宠供述,《内参选编》是内部参考文章,非高级别的公务人员是看不到的。郑还供述了其与“中国人权”组织及焦柏固联系的电话号码、传真号码、焦柏固的电子邮件地址。此外,郑恩宠对其于2003年5月28日在住处把新华社《内参选编》中《强行拆迁引发冲突,记者采访遭遇围攻》一文,传真给 “中国人权”组织的事实供认不讳。
公安机关的《搜查笔录》、《扣押物品、文件清单》证实,从本市晋元路88弄1号楼1406室郑恩宠住处查获了新华社《内参选编》第17期中《强行拆迁引发冲突,记者采访遭遇围攻》一文的复印件(标有“焦:新华社内参稿,望引用。郑”的手写字体)。
上海市公安局的《文检鉴定书》证实,上述复印件上的手写字迹均是郑恩宠所写。
新华通讯社上海分社出具的《证明材料》证实,《强行拆迁引发冲突,记者采访遭遇围攻》一文系该分社记者采写,刊登于新华社出版的《内参选编》2003年4月30日第17期上。
上海市国家保密局的《密级鉴定书》证实,郑恩宠向境外提供的《强行拆迁引发冲突,记者采访遭遇围攻》的材料,系出自《内参选编》(秘密级)2003年第17期,属于秘密级国家秘密。
国家保密局的 《关于上海市保密局对郑恩宠案所作密级鉴定有关问题的复函》确认了以上密级鉴定为有效。
证人薛利莉证实,其于2003年5月28日在郑恩宠住处帮助郑发送过多份材料,收件人姓焦。
上海市电信有限公司保卫处提供的住宅电话注册登记信息证实,电话号码63804774的用户名为郑恩宠,装机地址为晋元路88弄1号楼1406室。
中国联合通信有限公司数据与固定通信业务部提供的电话用户通讯记录清单证实,2003年5月28日,电话号码63804774与在美国纽约“中国人权”组织电话号码之间曾有多次联络。
以上证据均经当庭出示、质证,查证属实,本院予以确认。
本院认为,被告人郑恩宠将国家秘密非法传真给境外组织,其行为已构成为境外非法提供国家秘密罪,尚属情节较轻。公诉机关指控的罪名成立。根据被告人郑恩宠的文化程度、社会阅历及其所从事的职业,结合郑向在美国纽约的“中国人权”组织传真前述文章时特意加注“新华社内参稿,望引用”等文字以引起对方重视的行为,以及郑到案后曾作的《内参选编》是内部参考文章,非高级别公务人员看不到的供述,郑主观上具有为境外非法提供国家秘密的故意。故对郑恩宠及其辩护人提出的郑不明知国家秘密及没有向境外提供秘密之故意的辩解和辩护意见不予采信。被告人郑恩宠向境外提供国家秘密的行为,具有社会危害性,至于境外组织是否收到,损害国家利益的实际后果是否产生,并不影响本罪的成立。因此对郑恩宠及其辩护人关于郑恩宠提供的文章境外组织未收到,没有造成后果,不构成犯罪的辩解和辩护意见不予采纳。为维护社会秩序,保卫国家安全,依照《中华人民共和国刑法》第一百一十一条、第五十六条第一款、第五十五条第一款、第六十四条以及《最高人民法院关于审理为境外窃取、刺探、收买、非法提供国家秘密、情报案件具体应用法律若干问题的解释》第一条、第四条、第五条之规定,判决如下:
一、被告人郑恩宠犯为境外非法提供国家秘密罪,判处有期徒刑三年,剥夺政治权利一年。
(刑期从判决执行之日期计算。判决执行以前先行羁押的,羁押一日折抵刑期一日,即自二00三年六月六日起至二00六年六月五日止)。
二、查获的犯罪工具、涉及国家秘密的材料等予以没收。
如不服本判决,可在接到判决书的第二日起十日内,通过本院或者直接向上海市高级人民法院提出上诉。书面上诉的,应当提交上诉状正本一份,副本一份。
审 判 长 沈行恺
审 判 员 王宇展
代理审判员 蒋征宇
上海市第二中级人民法院
二00三年十月二十八日
书 记 员 董 玮
书 记 员 李 姝
最近听到了一个“谣言”,就是某些人试图或已经向勇于揭开事件真相的人们施压,谣言说,这罪名是“泄露国家机密”。这个罪名可大了,我可不敢“泄露国家机密”啊,心中一阵惶恐。好不容易压了压惊,发现有些不解,到底人家是说国防科技大学提供下载麒麟操作系统是“泄露国家机密”啊?还是说我分析出了麒麟操作系统采用了大量FreeBSD源代码这件事情是“泄露国家机密”啊?如果是前者,那么还是要理解人家的嘛,毕竟人家民用一下也可以有些外快的;如果是后者,那还真是罪过啊,罪过。孰不知这个公开下载的系统中竟然存在着这样的“国家机密”。所以啊,我不知道我的站点还能存在多久,我也不知道我的人身安全是否受到了威胁。我只知道呢,如果大家觉得我写的文章还有点价值的话,请尽快保留吧,要不然哪天突然发现访问不了了再后悔莫及啊。呵呵。
开个玩笑,各位看官切莫当真。国防科技大学会这么无耻么?麒麟开发组会这么卑鄙么?我看不会吧。“厚德博学、强军兴国”,多好的校训啊,“厚德”是第一位的。况且拥有着章文嵩、杨灿群等这样的开源精英人物,说明这个学校应该还是开明的吧。而且麒麟开发组,他们也就是犯了一点儿小错,改了还是好同志,不至于对我这个无名小卒大动干戈吧。他们更不会愚蠢到用更大的错误来掩盖自己的小错的吧。毕竟地球人都知道,人家CNN和纽约时报也瞪大眼睛盯着呢,日盼夜盼的看中国什么时候搞出个什么丑闻来赚取个头条,如果这大错一犯,人家还不注意啊,到时候又爆出一篇xxxx掩盖事实真相的丑闻,多不好啊。家丑还是不要外扬的好,逼得人家报道不了的记者直接向国外投稿赚取美$,我们不说银子没捞着,自己的脸上也不好看啊。所以说,国防科技大学自然做不出来这么愚蠢的事情,我们还是应该相信他们的。
况且,他们不是说我做的分析是针对简化版而不准确了么,有更强大的完整版的。虽然至今为止也没有说完整版的内核都多了什么功能,我看好像这个简化版的内核也是蛮强大的,似乎863计划中的涉及内核的技术,在这里面包含的也差不多了。也真想知道这个完整版的内核多了什么功能(不是说应用哦,是说内核)。
那位看官你说什么?哦,你问我这拔了毛的鸡是不是变成鸭子了?啊,这个问题比较复杂嘛,达尔文同学告诉我们生物的进化是渐进的,不能拔个毛就把鸡说成是鸭子的。但是呢,我们不能忘记拔了毛的鸡还可以变成烤鸡啊。可别小看这“烤”,这可是很有技术含量的,这一烤啊,就看不出原来的样子了,猛一看呀,还真有可能和烤鸭很像呢。您说呢?
人家这半个月来不给回复,恐怕是在做一些“准备”工作。我相信他们还是有勇气去请FreeBSD的核心开发人员来替他们洗清“冤屈”的。这点大家也要给他们信心和思考的时间嘛。
不过万一有一天我的Blog(或者我Dancefire)真的消失了,或者关于麒麟操作系统的报道(直接的或者间接的)消失了,大家还是多多谅解,还是不要责怪他们的好,就当是由于某种“技术问题”所致吧。我只能为这种“技术问题”向大家提前说声抱歉了。
以上纯属对于无聊的“谣言”多说了几句无聊的话,各位觉得无聊大可不必当真。况且,我们也应该相信政府有关部门会关注此事,并进行调查,给关心中国科技发展的我们一个权威、完整、真实的调查报告。
--------------------------------------------------------
开个玩笑,各位看官切莫当真。国防科技大学会这么无耻么?麒麟开发组会这么卑鄙么?我看不会吧。“厚德博学、强军兴国”,多好的校训啊,“厚德”是第一位的。况且拥有着章文嵩、杨灿群等这样的开源精英人物,说明这个学校应该还是开明的吧。而且麒麟开发组,他们也就是犯了一点儿小错,改了还是好同志,不至于对我这个无名小卒大动干戈吧。他们更不会愚蠢到用更大的错误来掩盖自己的小错的吧。毕竟地球人都知道,人家CNN和纽约时报也瞪大眼睛盯着呢,日盼夜盼的看中国什么时候搞出个什么丑闻来赚取个头条,如果这大错一犯,人家还不注意啊,到时候又爆出一篇xxxx掩盖事实真相的丑闻,多不好啊。家丑还是不要外扬的好,逼得人家报道不了的记者直接向国外投稿赚取美$,我们不说银子没捞着,自己的脸上也不好看啊。所以说,国防科技大学自然做不出来这么愚蠢的事情,我们还是应该相信他们的。
况且,他们不是说我做的分析是针对简化版而不准确了么,有更强大的完整版的。虽然至今为止也没有说完整版的内核都多了什么功能,我看好像这个简化版的内核也是蛮强大的,似乎863计划中的涉及内核的技术,在这里面包含的也差不多了。也真想知道这个完整版的内核多了什么功能(不是说应用哦,是说内核)。
那位看官你说什么?哦,你问我这拔了毛的鸡是不是变成鸭子了?啊,这个问题比较复杂嘛,达尔文同学告诉我们生物的进化是渐进的,不能拔个毛就把鸡说成是鸭子的。但是呢,我们不能忘记拔了毛的鸡还可以变成烤鸡啊。可别小看这“烤”,这可是很有技术含量的,这一烤啊,就看不出原来的样子了,猛一看呀,还真有可能和烤鸭很像呢。您说呢?
人家这半个月来不给回复,恐怕是在做一些“准备”工作。我相信他们还是有勇气去请FreeBSD的核心开发人员来替他们洗清“冤屈”的。这点大家也要给他们信心和思考的时间嘛。
不过万一有一天我的Blog(或者我Dancefire)真的消失了,或者关于麒麟操作系统的报道(直接的或者间接的)消失了,大家还是多多谅解,还是不要责怪他们的好,就当是由于某种“技术问题”所致吧。我只能为这种“技术问题”向大家提前说声抱歉了。
以上纯属对于无聊的“谣言”多说了几句无聊的话,各位觉得无聊大可不必当真。况且,我们也应该相信政府有关部门会关注此事,并进行调查,给关心中国科技发展的我们一个权威、完整、真实的调查报告。
--------------------------------------------------------
把原来mysql3里的数据导出为sql文件,再在建表命令里加一句CHARACTER SET BINARY,再用phpmyadmin导入到4.1。就可以正常了。(说明:以上方法由gavin 酱老虎提供)
今天看一下网站没人访问,然后去看了一下,晕了,没有想到我也会有phpblog.cn的那一天,呵呵,
这么惨呀,我不知道phpblog.cn 是什么原因,
但是我知道自己的网站是什么原因,
里面的信息做假,更新了程序之后,下载的那些数据一直没有过来,只怪自己发现那个空间商太迟了,现在我不会为这些信息烦心了,那么烦心,多发几毛钱就可以不用那个空间了
祝我好运!
这么惨呀,我不知道phpblog.cn 是什么原因,
但是我知道自己的网站是什么原因,
里面的信息做假,更新了程序之后,下载的那些数据一直没有过来,只怪自己发现那个空间商太迟了,现在我不会为这些信息烦心了,那么烦心,多发几毛钱就可以不用那个空间了
祝我好运!
茂
是我一来公司的时候,就听到的一个名字,看了他以前做的网站,
2002年以前吧,那个时候,他的那些技术就是相当的好!
可是现在,他想要离开!
不想听到这个消息,
但是我自己认为,企业对他来说的话,,
去找一个自己的地方也不错!
希望茂茂会好起来!
是我一来公司的时候,就听到的一个名字,看了他以前做的网站,
2002年以前吧,那个时候,他的那些技术就是相当的好!
可是现在,他想要离开!
不想听到这个消息,
但是我自己认为,企业对他来说的话,,
去找一个自己的地方也不错!
希望茂茂会好起来!
随着互联网的发展,WEB开发技术所能实现的功能及交互特性越来越丰富,尤其是随着各种WEB2.0应用的兴起,诸如Ajax、VML、Canvas等技术甚至已经能够实现原先纯粹由客户端程序才能完成的交互功能。WEB应用开发已经成为构筑互联网发展的基础。由此,各大网站也逐渐将招聘的目光投向了Web开发人员身上。
web2.0时代的到来,对于自身企业该如何定位,web技术如何应用,web人才如何选拔等等,就这些问题,CSDN人才频道采访了奇虎网站副总裁石晓虹。
web2.0时代的到来,对于自身企业该如何定位,web技术如何应用,web人才如何选拔等等,就这些问题,CSDN人才频道采访了奇虎网站副总裁石晓虹。
一、人生规划:三岔路口的抉择
不走弯路就是捷径……仕途,商界,学术。在这人生的三岔路口,你将何去何从……与其跟一百个人去竞争五个职位,不如跟一个人去竞争一个职位……学术精神天然的应当与尘嚣和喧哗保持足够的距离……商场不忌讳任何神话。你也完全可能成为下一个传奇……
出发前想清楚:是“吃皇粮”还是当老板
朱元璋最初只是想当一个节度使,可是最后他却当上了皇帝。假如他最初的目标只是拥有一间作坊,或许他最终顶多只能成为一个豪商巨贾而已。
甚至他可能一事无成,因为适合当皇帝的人未必适合做商人。在人生的三岔路口,将何去何从?只有先决定做商人,才能考虑在哪一个行业做生意,也只有决定了做学术,也才能更好地考虑自己究竟在哪一个专业领域继续发展...[全文]
不走弯路就是捷径……仕途,商界,学术。在这人生的三岔路口,你将何去何从……与其跟一百个人去竞争五个职位,不如跟一个人去竞争一个职位……学术精神天然的应当与尘嚣和喧哗保持足够的距离……商场不忌讳任何神话。你也完全可能成为下一个传奇……
出发前想清楚:是“吃皇粮”还是当老板
朱元璋最初只是想当一个节度使,可是最后他却当上了皇帝。假如他最初的目标只是拥有一间作坊,或许他最终顶多只能成为一个豪商巨贾而已。
甚至他可能一事无成,因为适合当皇帝的人未必适合做商人。在人生的三岔路口,将何去何从?只有先决定做商人,才能考虑在哪一个行业做生意,也只有决定了做学术,也才能更好地考虑自己究竟在哪一个专业领域继续发展...[全文]
那天通宵!想把一个更新blog上传到空间,于是连,就连了一个晚上,结果没有成功!
今天早上,想来,把这个blog上传,可是还是这样,都没能连得上
这下总算是明白了!所有的一切又是一个谎言!
说是双线,比免费空间还要差,
我也不知道为什么要相信这个空间!
一次次的被骗,然后,有问题,QQ上就没有人给予回答,
骗钱的公司,只是认钱,
还说是双线的空间,那天在铁通的线里面,不识这个是多么的慢
现在知道了!
难道说其是骗子被报复了!
请看过的网友记住这个空间商,sdidc.cc 骗子一个, 只认钱不认人!
今天早上,想来,把这个blog上传,可是还是这样,都没能连得上
这下总算是明白了!所有的一切又是一个谎言!
说是双线,比免费空间还要差,
我也不知道为什么要相信这个空间!
一次次的被骗,然后,有问题,QQ上就没有人给予回答,
骗钱的公司,只是认钱,
还说是双线的空间,那天在铁通的线里面,不识这个是多么的慢
现在知道了!
难道说其是骗子被报复了!
请看过的网友记住这个空间商,sdidc.cc 骗子一个, 只认钱不认人!
这个通宵,想在网站找点资料!
最近很想挑战自己了!
现在没有一点方向!不去论前因后果,但求自己不要虚度光阴!
今天用dw+php+mysql实现了,php的留言功能,真得是很好用,
不过,自己还想脱掉,dw来做这些,
应该会成功,
这几天,每天都去看邮包,看一看,有没有自己在网站定的那么书!
最近很想挑战自己了!
现在没有一点方向!不去论前因后果,但求自己不要虚度光阴!
今天用dw+php+mysql实现了,php的留言功能,真得是很好用,
不过,自己还想脱掉,dw来做这些,
应该会成功,
这几天,每天都去看邮包,看一看,有没有自己在网站定的那么书!
呵,本来以为可以做些什么了,游戏又没有玩!
但是看了一下程序,就没有头绪了!所以就这样了!
学习了哦!
但是看了一下程序,就没有头绪了!所以就这样了!
学习了哦!
本文章摘自于2006年5月8日的电脑报F11
近两年web2.0正成为网络用户关注的焦点,而Ajax这个名字也被频繁的与web2.0一并谈论,不过一个令人有些费解的现象是,并不是所有的用户都能清楚的说出Ajax到底是什么。大家对web2.0本身也是众说纷纭,很难下一个准确的定义,我觉得在这方面到颇有异曲同工之处。
这个现象确实有一定的普遍性,原因也是多方面的。最重要的原因在于大家往往只从技术的角度来解释Ajax,而事实上Ajax并不是一个单一的技术概念。在技术范畴之外,Ajax还包含了很多web用户体验方面的元素,这也是为什么舆论普遍认为Ajax是一种web2.0技术的原因。毕竟web2.0的创新价值有很大一部分来自于对用户体验和用户作用的重视。
以管窥豹的方式确实在Ajax的认识上造成了不少误解,这可能就是那些以"新技术"的角度了解Ajax的用`户不得门径的原因吧。
应该说Ajax首先就不是一项纯粹的技术,而更近似于一个技术框架。同时Ajax体系当中也并没有什么新的技术元素,其核心是Javascript技术,一种以往被认为与企业应用绝缘而只适用于在客户端展示一些"小把戏"的编程语言,而XML,XHTML,DOM,XML-HTTPREQUEST,CSS等经常被用于实现Ajax的技术元素也是多年应用的成熟技术。
不过就是这些常用技术的创造性组合为我们带来了令人叹服的用户体验,可见模式的创新是多么具有冲击力。
Ajax彻底颠覆了传统web应用在用户交互方面的模式,这是不可否认的。在传统的web体验当中,用户已经习惯了,在请求服务器数据之后的等待和显示这些数据时的页面刷新,这种交互方式是低效和不连贯的。
Ajax所倡导的方式则能够大大优化用户的使用感受。由于在服务器和浏览器之间的数据传递交由JavaScript控制,开发人员得以跳出以往严格的请求应答模式从而构建更具有用户友好性的web应用。
举一个简单的例子,当用户请求新的数据内容时,传统的web机制只能等待服务器将全部数据返回,然后刷新并重新显示整个页面;而Ajax只请求那些需要改变的内容,同时只改变那些需要改变的区域,而并不对这个页面进行刷新,这种能力不但使刷新成了Ajax带给用户的最主要印象,而且由于数据传递量的有效降低使得Ajax成为缓解web性能瓶颈的重要武器。
从这个角度来看,Ajax确实称得上是web2.0技术的典型代表,这不禁让我想起了windows图形操作系统替代DOS操作系统的过程。除了在用户接口上展现出更大的吸引力之外,系统核心的变革也在发生重要的作用。
窗口操作系统在外观和使用上确实带来了巨大变革,但是用户体验的巨大提升与内在功能的支持是分不开的,Ajax之于web2.0也是如此。
回顾windows的替代,Ajax正在经历同样的过程。除了在用户接口上展示更大的吸引力之外,Ajax第一次使web用户接口实现了多任务。由于页面可以不需要全部刷新,在一个区域正在等待数据返回并改变自己外观的时间里,用户则可以不必等待而继续执行其他操作;相应的,用户向服务器提交数据也不必等待数据被全部传送到服务器再进行其他操作。
也就是说,用户与浏览器的操作交互,浏览器与服务器的数据交互是可以"异步"进行的,这也是Ajax这个名字的由来,Ajax的英文全称是Asynchronous Javascript and XML 。
Ajax对用户群体的号召力已经获得了很多证明,应用随需求而动,Ajax也正成为开发群体新的追逐目标了,相信在web开发领域一定会掀起不小的波澜。但是很多人有一个疑问,Ajax是否已经给人们展示了一条康庄大道呢?按照IT界的发展规律来看,至少目前还没有出现过完美的技术。
究其本质来看,Ajax对于传统开发阵营来讲并不是一种颠覆性的冲击,而更贴近于一种增强。基于web应用体验的改善以及为交互方式提供的更多的可能性,会有越来越多的web应用程序采用Ajax机制实现。
目前已经涌现出大量成熟的Ajax应用,这些具体的应用或者自成体系的开发框架,或者是与各种编程语言的接合,事实上Java ,PHP,ASP等主流web开发平台已经都可以与Ajax框架进行良好的挂接。
话说回来,无论是Ajax的模式还是所依托的具体技术在很多年前就已经出现了,之所以到今天才获得应用和认同,说明再先进的东西也只有在被需要的情况下才能得到真正的发展。
但是,目前Ajax还处于前景与风险并存的阶段。虽然在应用领域Ajax已经取得了一定的进展,并且在用户认知度和影响力上也具有了相当的积累,但是其发展道路仍不能说一马平川。
Ajax并不是一支独秀,包括windows-media的flex等很多技术体系都在尝试提供更强的用户体验,随着web异步交互的需求成长,会有越来越多的技术涌现出来。而目前Ajax的实现也是多种多样的,不能尽早的形成标准无疑将分散Ajax的发展力量。
另外,不但用户群体中存在着对Ajax的认识模糊,即使是专业的开发人员,对Ajax的理解也千差万别。很多开发人员将Ajax视为一支不折不扣的潜力股,软件开发领域的下一个JAVA,这些都过分强调了Ajax在在市场效应方面的作用,反而在一定程度上扼杀了Ajax的真正价值。与其进行浮躁的期待和冲动的吹捧,不如切实地学习和发挥Ajax在用户交互方面地优点。
近两年web2.0正成为网络用户关注的焦点,而Ajax这个名字也被频繁的与web2.0一并谈论,不过一个令人有些费解的现象是,并不是所有的用户都能清楚的说出Ajax到底是什么。大家对web2.0本身也是众说纷纭,很难下一个准确的定义,我觉得在这方面到颇有异曲同工之处。
这个现象确实有一定的普遍性,原因也是多方面的。最重要的原因在于大家往往只从技术的角度来解释Ajax,而事实上Ajax并不是一个单一的技术概念。在技术范畴之外,Ajax还包含了很多web用户体验方面的元素,这也是为什么舆论普遍认为Ajax是一种web2.0技术的原因。毕竟web2.0的创新价值有很大一部分来自于对用户体验和用户作用的重视。
以管窥豹的方式确实在Ajax的认识上造成了不少误解,这可能就是那些以"新技术"的角度了解Ajax的用`户不得门径的原因吧。
应该说Ajax首先就不是一项纯粹的技术,而更近似于一个技术框架。同时Ajax体系当中也并没有什么新的技术元素,其核心是Javascript技术,一种以往被认为与企业应用绝缘而只适用于在客户端展示一些"小把戏"的编程语言,而XML,XHTML,DOM,XML-HTTPREQUEST,CSS等经常被用于实现Ajax的技术元素也是多年应用的成熟技术。
不过就是这些常用技术的创造性组合为我们带来了令人叹服的用户体验,可见模式的创新是多么具有冲击力。
Ajax彻底颠覆了传统web应用在用户交互方面的模式,这是不可否认的。在传统的web体验当中,用户已经习惯了,在请求服务器数据之后的等待和显示这些数据时的页面刷新,这种交互方式是低效和不连贯的。
Ajax所倡导的方式则能够大大优化用户的使用感受。由于在服务器和浏览器之间的数据传递交由JavaScript控制,开发人员得以跳出以往严格的请求应答模式从而构建更具有用户友好性的web应用。
举一个简单的例子,当用户请求新的数据内容时,传统的web机制只能等待服务器将全部数据返回,然后刷新并重新显示整个页面;而Ajax只请求那些需要改变的内容,同时只改变那些需要改变的区域,而并不对这个页面进行刷新,这种能力不但使刷新成了Ajax带给用户的最主要印象,而且由于数据传递量的有效降低使得Ajax成为缓解web性能瓶颈的重要武器。
从这个角度来看,Ajax确实称得上是web2.0技术的典型代表,这不禁让我想起了windows图形操作系统替代DOS操作系统的过程。除了在用户接口上展现出更大的吸引力之外,系统核心的变革也在发生重要的作用。
窗口操作系统在外观和使用上确实带来了巨大变革,但是用户体验的巨大提升与内在功能的支持是分不开的,Ajax之于web2.0也是如此。
回顾windows的替代,Ajax正在经历同样的过程。除了在用户接口上展示更大的吸引力之外,Ajax第一次使web用户接口实现了多任务。由于页面可以不需要全部刷新,在一个区域正在等待数据返回并改变自己外观的时间里,用户则可以不必等待而继续执行其他操作;相应的,用户向服务器提交数据也不必等待数据被全部传送到服务器再进行其他操作。
也就是说,用户与浏览器的操作交互,浏览器与服务器的数据交互是可以"异步"进行的,这也是Ajax这个名字的由来,Ajax的英文全称是Asynchronous Javascript and XML 。
Ajax对用户群体的号召力已经获得了很多证明,应用随需求而动,Ajax也正成为开发群体新的追逐目标了,相信在web开发领域一定会掀起不小的波澜。但是很多人有一个疑问,Ajax是否已经给人们展示了一条康庄大道呢?按照IT界的发展规律来看,至少目前还没有出现过完美的技术。
究其本质来看,Ajax对于传统开发阵营来讲并不是一种颠覆性的冲击,而更贴近于一种增强。基于web应用体验的改善以及为交互方式提供的更多的可能性,会有越来越多的web应用程序采用Ajax机制实现。
目前已经涌现出大量成熟的Ajax应用,这些具体的应用或者自成体系的开发框架,或者是与各种编程语言的接合,事实上Java ,PHP,ASP等主流web开发平台已经都可以与Ajax框架进行良好的挂接。
话说回来,无论是Ajax的模式还是所依托的具体技术在很多年前就已经出现了,之所以到今天才获得应用和认同,说明再先进的东西也只有在被需要的情况下才能得到真正的发展。
但是,目前Ajax还处于前景与风险并存的阶段。虽然在应用领域Ajax已经取得了一定的进展,并且在用户认知度和影响力上也具有了相当的积累,但是其发展道路仍不能说一马平川。
Ajax并不是一支独秀,包括windows-media的flex等很多技术体系都在尝试提供更强的用户体验,随着web异步交互的需求成长,会有越来越多的技术涌现出来。而目前Ajax的实现也是多种多样的,不能尽早的形成标准无疑将分散Ajax的发展力量。
另外,不但用户群体中存在着对Ajax的认识模糊,即使是专业的开发人员,对Ajax的理解也千差万别。很多开发人员将Ajax视为一支不折不扣的潜力股,软件开发领域的下一个JAVA,这些都过分强调了Ajax在在市场效应方面的作用,反而在一定程度上扼杀了Ajax的真正价值。与其进行浮躁的期待和冲动的吹捧,不如切实地学习和发挥Ajax在用户交互方面地优点。
AJAX (异步 JavaScript 和 XML) 是个新产生的术语,专为描述JavaScript的两项强大性能.这两项性能在多年来一直被网络开发者所忽略,直到最近Gmail, Google suggest和google Maps的横空出世才使人们开始意识到其重要性.
这两项被忽视的性能是:
• 无需重新装载整个页面便能向服务器发送请求.
• 对XML文档的解析和处理.
步骤 1 – "请!" --- 如何发送一个HTTP请求
为了用JavaScript向服务器发送一个HTTP请求, 需要一个具备这种功能的类实例. 这样的类首先由Internet Explorer以ActiveX对象引入, 被称为XMLHTTP. 后来Mozilla, Safari 和其他浏览器纷纷仿效, 提供了XMLHttpRequest类,它支持微软的ActiveX对象所提供的方法和属性.
因此, 为了创建一个跨浏览器的这样的类实例(对象), 可以应用如下代码:
if (window.XMLHttpRequest) { // Mozilla, Safari, ...
http_request = new XMLHttpRequest();
} else if (window.ActiveXObject) { // IE
http_request = new ActiveXObject("Microsoft.XMLHTTP");
}
(上例对代码做了一定简化,这是为了解释如何创建XMLHTTP类实例. 实际的代码实例可参阅本篇步骤3.)
如果服务器的响应没有XML mime-type header,某些Mozilla浏览器可能无法正常工作. 为了解决这个问题, 如果服务器响应的header不是text/xml,可以调用其它方法修改该header.
http_request = new XMLHttpRequest();
http_request.overrideMimeType('text/xml');
接下来要决定当收到服务器的响应后,需要做什么.这需要告诉HTTP请求对象用哪一个JavaScript函数处理这个响应.可以将对象的onreadystatechange属性设置为要使用的JavaScript的函数名,如下所示:
http_request.onreadystatechange = nameOfTheFunction;
注意:在函数名后没有括号,也无需传递参数.另外还有一种方法,可以在扉页(fly)中定义函数及其对响应要采取的行为,如下所示:
http_request.onreadystatechange = function(){
// do the thing
};
在定义了如何处理响应后,就要发送请求了.可以调用HTTP请求类的open()和send()方法, 如下所示:
http_request.open('GET', 'http://www.example.org/some.file', true);
http_request.send(null);
• open()的第一个参数是HTTP请求方式 – GET, POST, HEAD 或任何服务器所支持的您想调用的方式. 按照HTTP规范,该参数要大写;否则,某些浏览器(如Firefox)可能无法处理请求.有关HTTP请求方法的详细信息可参考http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html W3C specs
• 第二个参数是请求页面的URL.由于自身安全特性的限制,该页面不能为第三方域名的页面.同时一定要保证在所有的页面中都使用准确的域名,否则调用open()会得到"permission denied"的错误提示.一个常见的错误是访问站点时使用domain.tld,而当请求页面时,却使用www.domain.tld.
• 第三个参数设置请求是否为异步模式.如果是TRUE, JavaScript函数将继续执行,而不等待服务器响应.这就是"AJAX"中的"A".
如果第一个参数是"POST",send()方法的参数可以是任何想送给服务器的数据. 这时数据要以字符串的形式送给服务器,如下所示:
name=value&anothername=othervalue&so=on
步骤 2 – "收到!" --- 处理服务器的响应
当发送请求时,要提供指定处理响应的JavaScript函数名.
http_request.onreadystatechange = nameOfTheFunction;
我们来看看这个函数的功能是什么.首先函数会检查请求的状态.如果状态值是4,就意味着一个完整的服务器响应已经收到了,您将可以处理该响应.
if (http_request.readyState == 4) {
// everything is good, the response is received
} else {
// still not ready
这两项被忽视的性能是:
• 无需重新装载整个页面便能向服务器发送请求.
• 对XML文档的解析和处理.
步骤 1 – "请!" --- 如何发送一个HTTP请求
为了用JavaScript向服务器发送一个HTTP请求, 需要一个具备这种功能的类实例. 这样的类首先由Internet Explorer以ActiveX对象引入, 被称为XMLHTTP. 后来Mozilla, Safari 和其他浏览器纷纷仿效, 提供了XMLHttpRequest类,它支持微软的ActiveX对象所提供的方法和属性.
因此, 为了创建一个跨浏览器的这样的类实例(对象), 可以应用如下代码:
if (window.XMLHttpRequest) { // Mozilla, Safari, ...
http_request = new XMLHttpRequest();
} else if (window.ActiveXObject) { // IE
http_request = new ActiveXObject("Microsoft.XMLHTTP");
}
(上例对代码做了一定简化,这是为了解释如何创建XMLHTTP类实例. 实际的代码实例可参阅本篇步骤3.)
如果服务器的响应没有XML mime-type header,某些Mozilla浏览器可能无法正常工作. 为了解决这个问题, 如果服务器响应的header不是text/xml,可以调用其它方法修改该header.
http_request = new XMLHttpRequest();
http_request.overrideMimeType('text/xml');
接下来要决定当收到服务器的响应后,需要做什么.这需要告诉HTTP请求对象用哪一个JavaScript函数处理这个响应.可以将对象的onreadystatechange属性设置为要使用的JavaScript的函数名,如下所示:
http_request.onreadystatechange = nameOfTheFunction;
注意:在函数名后没有括号,也无需传递参数.另外还有一种方法,可以在扉页(fly)中定义函数及其对响应要采取的行为,如下所示:
http_request.onreadystatechange = function(){
// do the thing
};
在定义了如何处理响应后,就要发送请求了.可以调用HTTP请求类的open()和send()方法, 如下所示:
http_request.open('GET', 'http://www.example.org/some.file', true);
http_request.send(null);
• open()的第一个参数是HTTP请求方式 – GET, POST, HEAD 或任何服务器所支持的您想调用的方式. 按照HTTP规范,该参数要大写;否则,某些浏览器(如Firefox)可能无法处理请求.有关HTTP请求方法的详细信息可参考http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html W3C specs
• 第二个参数是请求页面的URL.由于自身安全特性的限制,该页面不能为第三方域名的页面.同时一定要保证在所有的页面中都使用准确的域名,否则调用open()会得到"permission denied"的错误提示.一个常见的错误是访问站点时使用domain.tld,而当请求页面时,却使用www.domain.tld.
• 第三个参数设置请求是否为异步模式.如果是TRUE, JavaScript函数将继续执行,而不等待服务器响应.这就是"AJAX"中的"A".
如果第一个参数是"POST",send()方法的参数可以是任何想送给服务器的数据. 这时数据要以字符串的形式送给服务器,如下所示:
name=value&anothername=othervalue&so=on
步骤 2 – "收到!" --- 处理服务器的响应
当发送请求时,要提供指定处理响应的JavaScript函数名.
http_request.onreadystatechange = nameOfTheFunction;
我们来看看这个函数的功能是什么.首先函数会检查请求的状态.如果状态值是4,就意味着一个完整的服务器响应已经收到了,您将可以处理该响应.
if (http_request.readyState == 4) {
// everything is good, the response is received
} else {
// still not ready
php.ini 或 php3.ini 是 PHP 在启动时会读取的配置文件。该文件的存放路径为 /usr/local/lib/。在 PHP 3.x 版的配置文件为 php3.ini;而在 PHP 4.x 版改为 php.ini。若 PHP 安装成服务器的模块,则在 Web 服务器启动执行时会读取,之后就不再读取,因此改动配置的话要重新启动 Web 服务器。若使用独立 PHP CGI 方式,则每次都读一次。
要看目前的系统配置,可以用 phpinfo() 看到。以下为选项配置
php_value name value
配置变量名称和值。本选项需 PHP 4.x 版之后才能使用。
php_flag name on|off
配置标志布尔变量选项。本选项需 PHP 4.x 版之后才能使用。
php_admin_value name value
配置 Apache 的配置文件变量。原来在 .htaccess 的配置改到这个选项配置。本选项需 PHP 4.x 版之后才能使用。
php_admin_flag name on|off
配置布尔变量当标志。本选项需 PHP 4.x 版之后才能使用。
asp_tags boolean
配置 PHP 程序是否解析以 ASP Script 语法 <% %> 的标记 (tag)。本选项在 PHP 3.0.4 之后才可使用。更多的细节可以参考 嵌入方法 的部份。
auto_append_file string
配置本选项可以让指定的文件附加在原 PHP 程序后面自动执行。若 PHP 程序中有用到 exit() 函数,则指定的文件不会执行。参数 string 即为指定自动执行的文件。
auto_prepend_file string
配置本选项可以让指定的文件在原 PHP 程序之前自动执行。参数 string 即为指定自动执行的文件。
cgi_ext string
本选项配置 CGI 程序的扩展名。
display_errors boolean
本选项配置是否要将执行的错误信息显示在用户的浏览器上。
doc_root string
配置服务器的文件及 PHP 文件放置的根目录。
engine boolean
本选项需要使用apache的模块方式使用 PHP。可配置是否要使用 PHP 引擎。在 httpd.conf 中加入 php3_engine on/off 亦可配置某目录或某虚拟网站是否要用 PHP 解析器。
error_log string
本选项用来配置错误记录文件。在 UNIX 系统上参数 string 即为文件名。Windows NT 会将记录记在事件检视器的日志之中。Windows 95/98 则不支持系统记录。
error_reporting integer
本选项用来配置系统记录的等级。参数 integer 即为等级的级数标志,可以加在一起,默认值为 7,见下表
级数 说明
1 一般的错误
2 一般的警告
4 解析错误
8 非关键的警告
open_basedir string
本选项用来配置提供 PHP 存取的最底层目录。从该指定目录之下的文件或目录,PHP 程序才能存取。使用本选项主要是为了系统安全性的考虑。参数 string 即为要限制的最底层目录节点。值得注意的是在 UNIX 系统中,若该节点之下的文件或目录有符号链结 (symbolic link),则可能会让使用本选项的目的打折,因此在目录的设计上考虑,也是 Webmaster 的重要任务。默认值是所有文件均可存取。在 PHP 3.0.7 版之后,可以配置多个底层目录。
gpc_order string
配置 GET/POST/COOKIE 三种模块的顺序及规则。参数 string 即为要配置的规则,例如:配置成 "GP" 表示忽视 cookie,并在存取方法 (method) 相同时,以 POST 取代 GET。
ignore_user_abort string
默认值为 Off。用来配置当传输未完成时,用户端断线是要继续处理。
include_path string
为 PHP 程序中 require、include 及 fopen_with_path 等函数的文件搜寻路径。在 UNIX 或 Windows 中的斜线方向不同。
log_errors boolean
指定程序错误时是否要记录在 log 文件中。
magic_quotes_gpc boolean
配置 GET/POST/COOKIE 三种模块的特殊字符,包含单引号、双引号、反斜线、及空字符 (NUL) 是否要自动加入反斜线当溢出字符。
magic_quotes_runtime boolean
配置返回资料是否自动加入反斜线当溢出字符。
magic_quotes_sybase boolean
配置 sybase 资料中单引号要自动加上反斜线当溢出字符。
max_execution_time integer
配置程序最久执行时间。单位是秒。
memory_limit integer
配置程序最多使用多少内存。
short_open_tag boolean
配置是否使用短的 PHP 标记 ( ?>)。若不使用,则必须要用
要看目前的系统配置,可以用 phpinfo() 看到。以下为选项配置
php_value name value
配置变量名称和值。本选项需 PHP 4.x 版之后才能使用。
php_flag name on|off
配置标志布尔变量选项。本选项需 PHP 4.x 版之后才能使用。
php_admin_value name value
配置 Apache 的配置文件变量。原来在 .htaccess 的配置改到这个选项配置。本选项需 PHP 4.x 版之后才能使用。
php_admin_flag name on|off
配置布尔变量当标志。本选项需 PHP 4.x 版之后才能使用。
asp_tags boolean
配置 PHP 程序是否解析以 ASP Script 语法 <% %> 的标记 (tag)。本选项在 PHP 3.0.4 之后才可使用。更多的细节可以参考 嵌入方法 的部份。
auto_append_file string
配置本选项可以让指定的文件附加在原 PHP 程序后面自动执行。若 PHP 程序中有用到 exit() 函数,则指定的文件不会执行。参数 string 即为指定自动执行的文件。
auto_prepend_file string
配置本选项可以让指定的文件在原 PHP 程序之前自动执行。参数 string 即为指定自动执行的文件。
cgi_ext string
本选项配置 CGI 程序的扩展名。
display_errors boolean
本选项配置是否要将执行的错误信息显示在用户的浏览器上。
doc_root string
配置服务器的文件及 PHP 文件放置的根目录。
engine boolean
本选项需要使用apache的模块方式使用 PHP。可配置是否要使用 PHP 引擎。在 httpd.conf 中加入 php3_engine on/off 亦可配置某目录或某虚拟网站是否要用 PHP 解析器。
error_log string
本选项用来配置错误记录文件。在 UNIX 系统上参数 string 即为文件名。Windows NT 会将记录记在事件检视器的日志之中。Windows 95/98 则不支持系统记录。
error_reporting integer
本选项用来配置系统记录的等级。参数 integer 即为等级的级数标志,可以加在一起,默认值为 7,见下表
级数 说明
1 一般的错误
2 一般的警告
4 解析错误
8 非关键的警告
open_basedir string
本选项用来配置提供 PHP 存取的最底层目录。从该指定目录之下的文件或目录,PHP 程序才能存取。使用本选项主要是为了系统安全性的考虑。参数 string 即为要限制的最底层目录节点。值得注意的是在 UNIX 系统中,若该节点之下的文件或目录有符号链结 (symbolic link),则可能会让使用本选项的目的打折,因此在目录的设计上考虑,也是 Webmaster 的重要任务。默认值是所有文件均可存取。在 PHP 3.0.7 版之后,可以配置多个底层目录。
gpc_order string
配置 GET/POST/COOKIE 三种模块的顺序及规则。参数 string 即为要配置的规则,例如:配置成 "GP" 表示忽视 cookie,并在存取方法 (method) 相同时,以 POST 取代 GET。
ignore_user_abort string
默认值为 Off。用来配置当传输未完成时,用户端断线是要继续处理。
include_path string
为 PHP 程序中 require、include 及 fopen_with_path 等函数的文件搜寻路径。在 UNIX 或 Windows 中的斜线方向不同。
log_errors boolean
指定程序错误时是否要记录在 log 文件中。
magic_quotes_gpc boolean
配置 GET/POST/COOKIE 三种模块的特殊字符,包含单引号、双引号、反斜线、及空字符 (NUL) 是否要自动加入反斜线当溢出字符。
magic_quotes_runtime boolean
配置返回资料是否自动加入反斜线当溢出字符。
magic_quotes_sybase boolean
配置 sybase 资料中单引号要自动加上反斜线当溢出字符。
max_execution_time integer
配置程序最久执行时间。单位是秒。
memory_limit integer
配置程序最多使用多少内存。
short_open_tag boolean
配置是否使用短的 PHP 标记 ( ?>)。若不使用,则必须要用
hee hee! ooh! go on girl! aaow!嗨!女孩!
hey,prety baby with the high heels on!穿高跟鞋的漂亮宝贝!
u give me fever like i'm never ever known!你使我狂热的感觉,我从未有过!
u're just a product of lonely lives!你是寂寞生活的宠物!
i like the groove of ur walk,ur talk,ur dress !我喜欢你的步态,你的谈吐,你的衣着!
i feel ur fever from miles around.很远我就能感觉到你的魅力!
hey,prety baby with the high heels on!穿高跟鞋的漂亮宝贝!
u give me fever like i'm never ever known!你使我狂热的感觉,我从未有过!
u're just a product of lonely lives!你是寂寞生活的宠物!
i like the groove of ur walk,ur talk,ur dress !我喜欢你的步态,你的谈吐,你的衣着!
i feel ur fever from miles around.很远我就能感觉到你的魅力!
' ============================================
' 把字符串进行HTML解码,替换server.htmlencode
' 去除Html格式,用于显示输出
' ============================================
Function outHTML(str)
Dim sTemp
sTemp = str
outHTML = ""
If IsNull(sTemp) = True Then
Exit Function
End If
sTemp = Replace(sTemp, "&", "&")
sTemp = Replace(sTemp, "<", "<")
sTemp = Replace(sTemp, ">", ">")
sTemp = Replace(sTemp, Chr(34), """)
sTemp = Replace(sTemp, Chr(10), "<br>")
outHTML = sTemp
End Function
' ============================================
' 去除Html格式,用输于从数据库中取出值填入入框时
' 注意:value="?"这边一定要用双引号
' ============================================
Function inHTML(str)
Dim sTemp
sTemp = str
inHTML = ""
If IsNull(sTemp) = True Then
Exit Function
End If
sTemp = Replace(sTemp, "&", "&")
sTemp = Replace(sTemp, "<", "<")
sTemp = Replace(sTemp, ">", ">")
sTemp = Replace(sTemp, Chr(34), """)
inHTML = sTemp
End Function
' 把字符串进行HTML解码,替换server.htmlencode
' 去除Html格式,用于显示输出
' ============================================
Function outHTML(str)
Dim sTemp
sTemp = str
outHTML = ""
If IsNull(sTemp) = True Then
Exit Function
End If
sTemp = Replace(sTemp, "&", "&")
sTemp = Replace(sTemp, "<", "<")
sTemp = Replace(sTemp, ">", ">")
sTemp = Replace(sTemp, Chr(34), """)
sTemp = Replace(sTemp, Chr(10), "<br>")
outHTML = sTemp
End Function
' ============================================
' 去除Html格式,用输于从数据库中取出值填入入框时
' 注意:value="?"这边一定要用双引号
' ============================================
Function inHTML(str)
Dim sTemp
sTemp = str
inHTML = ""
If IsNull(sTemp) = True Then
Exit Function
End If
sTemp = Replace(sTemp, "&", "&")
sTemp = Replace(sTemp, "<", "<")
sTemp = Replace(sTemp, ">", ">")
sTemp = Replace(sTemp, Chr(34), """)
inHTML = sTemp
End Function
PHPlet是什么?
很简单,它是一个使用PHP编写的Web服务器,可以替代我们常用的Apache或IIS。
为什么要介绍PHPlet?
因为它是PHPer们学习Web服务器原理的捷径。
因为它的程序结构很好,类似Java的面向对象编程,有很好的参考价值。
因为我认为PHP5和PHPlet相继发布稳定版本后,PHP5+PHPlet+SQLite(PPS)将是小型应用、程序演示的另外一种选择。
现在大部分的小型应用或者程序演示都是把Apache+PHP+MySQL(APM结构)做成exe或rpm安装包,它的容量在8M-45M左右。如果使用了PPS结构整个系统将会缩减到2-3M之内(SQLite是嵌入式数据库),而且省去了对Apache和MySQL的依赖。
PHPlet的运行方式?
PHPlet使用php_socktes.dll实现端口侦听。
PHPlet是常驻内存的,可以使用srvany.exe将它作为NT的服务运行。
PHPlet的多进程功能只能运行在Linux、FreeBSD、*unx系统等系统下,这是因为PHP的“进程控制函数库”不支持Win32平台。
好了,废话不多说,马上进入我们的PHPlet之旅。
很简单,它是一个使用PHP编写的Web服务器,可以替代我们常用的Apache或IIS。
为什么要介绍PHPlet?
因为它是PHPer们学习Web服务器原理的捷径。
因为它的程序结构很好,类似Java的面向对象编程,有很好的参考价值。
因为我认为PHP5和PHPlet相继发布稳定版本后,PHP5+PHPlet+SQLite(PPS)将是小型应用、程序演示的另外一种选择。
现在大部分的小型应用或者程序演示都是把Apache+PHP+MySQL(APM结构)做成exe或rpm安装包,它的容量在8M-45M左右。如果使用了PPS结构整个系统将会缩减到2-3M之内(SQLite是嵌入式数据库),而且省去了对Apache和MySQL的依赖。
PHPlet的运行方式?
PHPlet使用php_socktes.dll实现端口侦听。
PHPlet是常驻内存的,可以使用srvany.exe将它作为NT的服务运行。
PHPlet的多进程功能只能运行在Linux、FreeBSD、*unx系统等系统下,这是因为PHP的“进程控制函数库”不支持Win32平台。
好了,废话不多说,马上进入我们的PHPlet之旅。
<%
'函数名 count
'作用 让1与变成001,如果是三位数的话
function count(cou)
cou=int(cou)
lon=3 '设置长度
for k=1 to (lon-len(cou))
z="0"
couz=couz&z
next
count=couz&cou
z=null
couz=null
cou=null
k=null
end function
%>
如果你在这之前没有任何编程经验,我建议你花一个月的时间去学习c语言,可以买谭浩强的《C程序设计》。把基本的一些概念都搞清楚。
下面的内容是一些必须知道的常识,如果你是新手,请仔细的记住,别问为什么,记住就行,这是规则。如果你是老手,可以快速浏览一下,也许这里面有你以前没有注意过的东西。
1 我们如何取得帮助?
在生活中,我经常遇见这样的问题:XXX函数应该如何使用?其实找到他的用法很简单,你可以到www.php.net 去下载最新版的PHP手册。上面把所有的函数用法都列了出来。
下面是地址:
在线手册:http://www.php.net/manual/zh/
手册下载:http://www.php.net/download-docs.php
如果你是教育网,或者因为什么原因访问不了外国的网站,那么就利用搜索引擎吧。
2 问题的答案在哪里?
我们经常遇见一些百思不得其解的问题,但是这些问题却显得很菜。比如:我的网站的起始页面应该叫什么?(别笑我,我真的遇见过有人问这个问题)。那么 google一下吧。如果你因为某些原因上不了google,那么百度一下吧。肯定有人遇见过这个问题。而且肯定有人说出过答案。
如果你连搜索引擎也懒的用,那么就上论坛去问吧;不过说话的时候注意点语气。或者你也可以给我这个作者发信:jstel#126.com(#换成@) achieverain收,不过,我可能比你还懒的哟。小心永远收不到回音。
3 如何快速入门?
别告诉我说你想无基础一周成为高手,哪怕是一个月都不可能,虽然我入门时只是看了一个下午的PHP手册外加一本《21天从PHP菜鸟到高手》的书#_#。但是我一个下午入门的前提是:我的C语言不错,C++也会一些。而且最重要的是,我已经写了几年asp,靠那东西已经可以混饭吃了。网上所谓的7天精通PHP,15天精通PHP,只会造就无数永久的菜鸟。
如果你真的想快速入门,那么我就以我的亲身经历告诉你:
1: 会C语言,PHP的面向过程部分语法基本上就是照抄的C。所以,有了C的基础,想一个下午入门是很有希望的。
2: 会写静态网页:我所说的写是指使用类似于editplus或写字板之类的东西写html代码,而不是使用frontpage,,dreamweaver之类的工具画出来的。
3: 会一点C++的面向对象的东西,或者你会一些JAVA的面向对象也行。
4: 静下心看一个下午的PHP手册,再看一遍我的教程,呵呵。搞定了。
下面的内容是一些必须知道的常识,如果你是新手,请仔细的记住,别问为什么,记住就行,这是规则。如果你是老手,可以快速浏览一下,也许这里面有你以前没有注意过的东西。
1 我们如何取得帮助?
在生活中,我经常遇见这样的问题:XXX函数应该如何使用?其实找到他的用法很简单,你可以到www.php.net 去下载最新版的PHP手册。上面把所有的函数用法都列了出来。
下面是地址:
在线手册:http://www.php.net/manual/zh/
手册下载:http://www.php.net/download-docs.php
如果你是教育网,或者因为什么原因访问不了外国的网站,那么就利用搜索引擎吧。
2 问题的答案在哪里?
我们经常遇见一些百思不得其解的问题,但是这些问题却显得很菜。比如:我的网站的起始页面应该叫什么?(别笑我,我真的遇见过有人问这个问题)。那么 google一下吧。如果你因为某些原因上不了google,那么百度一下吧。肯定有人遇见过这个问题。而且肯定有人说出过答案。
如果你连搜索引擎也懒的用,那么就上论坛去问吧;不过说话的时候注意点语气。或者你也可以给我这个作者发信:jstel#126.com(#换成@) achieverain收,不过,我可能比你还懒的哟。小心永远收不到回音。
3 如何快速入门?
别告诉我说你想无基础一周成为高手,哪怕是一个月都不可能,虽然我入门时只是看了一个下午的PHP手册外加一本《21天从PHP菜鸟到高手》的书#_#。但是我一个下午入门的前提是:我的C语言不错,C++也会一些。而且最重要的是,我已经写了几年asp,靠那东西已经可以混饭吃了。网上所谓的7天精通PHP,15天精通PHP,只会造就无数永久的菜鸟。
如果你真的想快速入门,那么我就以我的亲身经历告诉你:
1: 会C语言,PHP的面向过程部分语法基本上就是照抄的C。所以,有了C的基础,想一个下午入门是很有希望的。
2: 会写静态网页:我所说的写是指使用类似于editplus或写字板之类的东西写html代码,而不是使用frontpage,,dreamweaver之类的工具画出来的。
3: 会一点C++的面向对象的东西,或者你会一些JAVA的面向对象也行。
4: 静下心看一个下午的PHP手册,再看一遍我的教程,呵呵。搞定了。
转载请注明 achieverain 找工作中
文章出处: http://php.cublog.cn
其实这并不是什么光彩的事,我原来所在的公司因为民营企业的死亡率最高的原因:资金链断裂而死亡。在近半年没有领到工资之后,终于在公司办公场所即将到期之前决定重新找份工作。
先自我介绍一下,我是一个开源CMS开发组的领导者和核心开发人员之一,开发了大约70%核心部分的代码。能够在linux下完成除图像处理以外的日常工作。我不敢说什么精通,但是至少该会的都会了。个人能力是:
PHP
XHTML + CSS
JAVAScript
C
shell
其他在linux下进行开发和工作需要会的。
我的工资要求:税后超过5k。
我的短期目标:2~3年之后用c或c++在linux下写一个和ruby差不多的程序,当然,语法一定要类似于C和PHP
广告时间: ^_^ 如果您对我感兴趣,如果您能满足我的要求,而且您的公司不会每天加班,不会每周六免费加班,可以给我发个招聘的邮件 jstel#126.com
文章出处: http://php.cublog.cn
其实这并不是什么光彩的事,我原来所在的公司因为民营企业的死亡率最高的原因:资金链断裂而死亡。在近半年没有领到工资之后,终于在公司办公场所即将到期之前决定重新找份工作。
先自我介绍一下,我是一个开源CMS开发组的领导者和核心开发人员之一,开发了大约70%核心部分的代码。能够在linux下完成除图像处理以外的日常工作。我不敢说什么精通,但是至少该会的都会了。个人能力是:
PHP
XHTML + CSS
JAVAScript
C
shell
其他在linux下进行开发和工作需要会的。
我的工资要求:税后超过5k。
我的短期目标:2~3年之后用c或c++在linux下写一个和ruby差不多的程序,当然,语法一定要类似于C和PHP
广告时间: ^_^ 如果您对我感兴趣,如果您能满足我的要求,而且您的公司不会每天加班,不会每周六免费加班,可以给我发个招聘的邮件 jstel#126.com
















