Dream Maker 老漂 不要有和人斗的心,你要赢的是你自己!

顾泉雄--值得尊敬的老人

这是一位退休的老人,原为中央新闻纪录电影制片厂高级记者、摄影师兼编导、金鸡奖华表奖获得者。他的名字叫顾泉雄。他在临退休前,花费2.6万元从电影厂买下了他所拍摄的200多部纪录片中的13部拷贝,随后又花了3万元刻录了3000张VCD。2002年8月, 年近七旬的顾泉雄携同老伴,带着9个沉重的铁皮箱子正式踏上了免费播映纪录片的征程。这9个箱子中,除了2个用来装换洗衣物等日常用品,其余全部都是电影 胶片和VCD碟片。正是因为有了顾泉雄的到来,一些偏远地区的人生平第一次看到了电影。
        在常人眼中,衣食无忧的顾泉雄完全可以待在家里享清福。每一次远行,顾泉雄的箱子里总少不了要带上一个药盒,因为他和老伴都患有高血压、心脏病。一到空气 稀薄的高原或是气温骤低的北方,老两口的身体就会吃不消。对此,顾泉雄说:“以前,是国家培养了我,现在,我要回报。”他常念叨,没有党和政府,哪能有我 高级摄影师的称号?哪能让我拍摄200多部新闻纪录电影?哪能会获得20多个奖项?
------------------------------------------------
   
以上是摘自百度百科的片断。很多偏远地方的十几岁的孩子第一次看得电影就是由这位老人和他的妻子播放的。两位老人自费偏远地区放电影,随身还带着笔记本,为那些行动不便的老人用笔记本播放VCD。我被他和他的妻子的行为所感动。向他们致于诚志祝福,愿他们健康长寿!好人一生平安!

Tags: 顾泉雄

发布: 老漂 分类: 精彩|收藏 评论: 0 浏览: 559

扶正文化的根

晚上礼堂看了顾全雄电影作品展,绿叶赞,夜上海,我们的露露,驯狗师,雨西湖,水中影,每一部短片都能给人以美的享受,引人积极向上,最后在先生和同学的交流中结束。

影片以及顾先生最后的一席话渗透着两个内容,一是感恩,感念别人感念祖国感念所有对我们直接或者间接帮助的人,这才是做人的根本。二是当前社会文化的低俗倾向,这一点不用赘言,看一部美国大片的收获也许真不如这几分钟的短片。

会后看了一些顾先生的资料,有两篇文章附在后边,以供参考。

顾泉雄为青少年义务放映 受教育者达5万人
 

http://www.tj.xinhuanet.com  2005年09月28日

Tags: 顾泉雄

发布: 老漂 分类: 精彩|收藏 评论: 0 浏览: 533

一个文化老人和青年朋友的交流

4月10日下午,著名的摄影记者兼编导顾泉雄老人为中南大学文学院新闻系的同学带来了一次生动,感人的讲座。

 

顾老人免费到全国各地基层群众中放电影。从电影制片厂里花2万多元购买了十几部自己拍摄的优秀电影纪录片拷贝。自2002年开始,他便自费前往东北、西北边远地区,免费放映自己的作品。目前,他的足迹已遍及东北三省、宁夏、内蒙古、新疆等多个省、自治区。截至2005年10月观众已达5万多人,其中多数是青少年学生。

 

顾老人先为同学放映了他拍摄和编导的三部影片,让大家对他有所了解。细腻的视角吸引了每个人的眼球;独特的选题在现在看起来还是有很大的借鉴意义。接下来的讲座部分更是“不容错过”。

 

在场的同学们安静、认真的听着他讲话。一位同学在讲座结束,接受记者采访时说:“我从没像今天这样,这么认真的听讲座。顾爷爷年事已高,我们不忍心让他费力出声。他连连的向大家鞠躬,让人心中的愧疚感顿时升起。”原来,顾老人为了向养育青年人成长和学习的家人以及资助他完成学业的人们致敬,深深的鞠了三次躬。说到他自己上大学的经历时,老人动情的哭了。上学的机会来之不易,能够支持他读完大学的人民的恩情更让他一辈子都不能忘怀。以此,他告诫我们要好好珍惜大学时光,努力学习,不辜负家人和祖国的期望。

 

顾全雄老人在进入北京电影学院学习前,在一个工厂里工作。能够顺利进入工厂,是因为他在招工时,珠算最快,文化知识水平符合工厂需要。在北影招生时,他又能够抓住机遇,加上他在工厂中的优秀表现,才成为北影的一名学生。“生命中成功的秘诀是随时准备把握时机”。他送给我们的这句名言很好的诠释了自己迈向成功的第一步。

Tags: 顾泉雄

发布: 老漂 分类: 精彩|收藏 评论: 0 浏览: 680

COOLEDIT录音教程 第四页、混响处理

第四页、混响处理

1.点击“效果--DirectX--Ultrafunk fx--Reverb R3”打开混响效果器(图21)。

""
(图21)


2.加载预置下拉菜单中的各种效果后(也可手动调节)点右下方的“预览”进行反复的试听,直至调至满意的混响效果后,点确定对原声进行混响处理,常用的效果如图中所示(图22 图23)。

""
(图22)

""
(图23)

做过混响处理后,可以使你的声音显得不那么干涩,变的圆润和厚重一些。
  
至此,对人声的处理全部结束。

混缩合成

1.点“编辑--混缩到文件--全部波形”便可将伴奏和处理过的人声混缩合成在一起(图24)。

""
(图24)

2.点“文件--另存为”将混缩合成后的文件存为mp3pro格式(图25)!!

""
(图25)

你的大作就此完工

COOLEDIT录音教程 第三页、高音激励处理

1.点击“效果--DirectX--BBE Sonic Maximizer”打开BBE高音激励器(图16)。

""
(图16)


2.加载预置下拉菜单中的各种效果后(或是全手动调节三旋钮)点激励器右下方的“预览”进行反复的试听,直至调至满意的效果后,点确定对原声进行高音激励。(图17 图18)

""
(图17)

""
(图18)

(注)此过程目的是为了调节所录人声的高音和低音部分,使声音显得更加清晰明亮或是厚重。激励的作用就是产生谐波,对声音进行修饰和美化,产生悦耳的听觉效果,它可以增强声音的频率动态,提高清晰度、亮度、音量、温暖感和厚重感,使声音更有张力。

压限处理

1.点击“效果--DirectX--Waves--C4”打开WaveC4压限效果器(图19)。

""
(图19)

2.加载预置下拉菜单中的各种效果后(如果你对数字音频有足够了解的话,也可手动调节)点右下方的“预览”进行反复的试听,直至调至满意的效果后,点确定对原声进行压限处理(图20)。

""
(图20)

(注)压限的目的,通俗的说就是把你录制的声音从整体上调节的均衡一些,不至忽大忽小,忽高忽低。

COOLEDIT录音教程 第二页、降噪处理

降噪是至关重要的一步,做的好有利于下面进一步美化你的声音,做不好就会导致声音失真,彻底破坏原声。单单这一步就足以独辟篇幅来专门讲解,大家清楚这一点就行了。
1.点击左下方的波形水平放大按钮(带+号的两个分别为水平放大和垂直放大)放大波形,以找出一段适合用来作噪声采样波形(图8)。

""
(图8)


2.点鼠标左键拖动,直至高亮区完全覆盖你所选的那一段波形(图9)。

""
(图9)

3.右单击高亮区选“复制为新的”,将此段波形抽离出来(图10)。

""
(图10)

4.打开“效果--噪声消除--降噪器”准备进行噪声采样(图10)。
5.进行噪声采样。
降噪器中的参数按默认数值即可,随便更动,有可能会导致降噪后的人声产生较大失真(图11)

""
(图11)

6.保存采样结果(图12)

""
(图12)

7.关闭降噪器及这段波形(不需保存)。

8. 回到处于波形編辑界面的人声文件,打开降噪器,加载之前保存的噪声采样进行降噪处理,点确定降噪前,可先点预览试听一下降噪后的效果(如失真太大,说明降 噪采样不合适,需重新采样或调整参数,有一点要说明,无论何种方式的降噪都会对原声有一定的损害) (图13 图14 图15)

""
(图13)

""
(图14)

""
(图15)

COOLEDIT录音教程 一,录制原声

第一页、录制原声

系统介绍一下用Cooledit pro 2.0录制自唱歌曲的一个全过程,希望对喜欢唱歌,想一展歌喉的朋友有所帮助。

录制原声

录音是所有后期制作加工的基础,这个环节出问题,是无法靠后期加工来补救的,所以,如果是原始的录音有较大问题,就重新录吧。
1.打开CE进入多音轨界面右击音轨1空白处,插入你所要录制歌曲的mp3伴奏文件,wav也可(图1)。

""
(图1)看不清楚请点击图


2.选择将你的人声录在音轨2,按下“R”按钮。(图2)

""
(图2)看不清楚请点击图


3.按下左下方的红色录音键,跟随伴奏音乐开始演唱和录制。(图3)

""
(图3)看不清楚请点击图

4.录音完毕后,可点左下方播音键进行试听,看有无严重的出错,是否要重新录制(图4)

""
(图4)看不清楚请点击图

5.双击音轨2进入波形編辑界面(图5),将你录制的原始人声文件保存为mp3pro格式(图6 图7),以前的介绍中是让大家存为wav格式,其实mp3也是绝对可以的,并且可以节省大量空间。

""
(图5)看不清楚请点击图

""
(图6)看不清楚请点击图

""
(图7)看不清楚请点击图

(注) 需要先说明一下的是:录制时要关闭音箱,通过耳机来听伴奏,跟着伴奏进行演唱和录音,录制前,一定要调节好你的总音量及麦克音量,这点至关重要!麦克的音 量最好不要超过总音量大小,略小一些为佳,因为如果麦克音量过大,会导致录出的波形成了方波,这种波形的声音是失真的,这样的波形也是无用的,无论你水平 多么高超,也不可能处理出令人满意的结果的。
另:如果你的麦克总是录入从耳机中传出的伴奏音乐的声音,建议你用普通的大话筒,只要加一个大转小的接头即可直接在电脑上使用,你会发现录出的效果要干净的多。

什么叫做泛解析

比如说www.aaa.com 指向10.10.1.1
ftp.aaa.com指向10.10.2.2
如果这时候客户访问的是aaa.com或者error.aaa.com (这里error代表一个根本不存在的域名或者说是A记录)
这个时候,如果dns服务器不支持泛解析的话,那么就无法访问aaa公司的网站,提示错误。
如果支持泛解析的话,如果你访问的域名在dns服务器中没有A记录,比如fadsfdsafsdaf.aaa.com,它一样会跳转到www.aaa.com,出现公司的网站,而不用担心一些人输错网址后到不了公司的网站而损失了潜在的客户。
泛域名解析域名域名解析的区别
泛域名解析是:*.域名解析到同一IP。
域名解析是:子域名.域名解析到同一IP。
注意:只有客户的空间是独立IP的时候泛域名才有意义。而域名解析则没有此要求。


什么是WSH*

WSH是“Windows Scripting Host”的缩略形式,其通用的中文译名为“Windows 脚本宿主”。对于这个较为抽象的名词,我们可以先作这样一个笼统的理解:它是内嵌于 Windows 操作系统中的脚本语言工作环境。

  Windows Scripting Host 这个概念最早出现于 Windows 98 操作系统。大家一定还记得 MS-Dos 下的批处理命令,它曾有效地简化了我们的工作、带给我们方便,这一点就有点类似于如今大行其道的脚本语言。但就算我们把批处理命令看成是一种脚本语言,那它也是 98 版之前的 Windows 操作系统所唯一支持的“脚本语言”。而此后随着各种真正的脚本语言不断出现,批处理命令显然就有点力不从心了。面临这一危机,微软在研发 Windows 98 时,为了实现多类脚本文件在 Windows 界面或 Dos 命令提示符下的直接运行,就在系统内植入了一个基于 32 位 Windows 平台、并独立于语言的脚本运行环境,并将其命名为“Windows Scripting Host”。WSH 架构于 ActiveX 之上,通过充当 ActiveX 的脚本引擎控制器,WSH 为 Windows 用户充分利用威力强大的脚本指令语言扫清了障碍。

  再具体一点描述:你自己编写了一个脚本文件,如后缀为 .vbs 或 .js 的文件,然后在 Windows 下双击并执行它,这时,系统就会自动调用一个适当的程序来对它进行解释并执行,而这个程序,就是 Windows Scripting Host,程序执行文件名为 Wscript.exe (若是在命令行下,则为 Cscript.exe)。

  WSH 诞生后,在 Windows 系列产品中很快得到了推广。除 Windows 98 外,微软在 Internet Information Server 4.0、Windows Me、Windows 2000 Server,以及 Windows 2000 Professional 等产品中都嵌入了 WSH。现在,早期的 Windows 95 也可单独安装相应版本的 WSH。


Windows中域和组是什么关系?有什么区别?*
By EvilOctal[EST]

相对包含关系,在每一个域中,管理员又可以把里面的用户划分为不同的组。
工作组是一群计算机的集合,它仅仅是一个逻辑的集合,各自计算机还是各自管理的,你要访问其中的计算机,还是要到被访问计算机上来实现用户验证的。而域不同,域是一个有安全边界的计算机集合,在同一个域中的计算机彼此之间已经建立了信任关系,在域内访问其他机器,不再需要被访问机器的许可了。为什么是这样的呢?因为在加入域的时候,管理员为每个计算机在域中(可和用户不在同一域中)建立了一个计算机帐户,这个帐户和用户帐户一样,也有密码保护的。可是大家要问了,我没有输入过什么密码啊,是的,你确实没有输入,计算机帐户的密码不叫密码,在域中称为登录票据,它是由2000的DC(域控制器)上的KDC服务来颁发和维护的。为了保证系统的安全,KDC服务每30天会自动更新一次所有的票据,并把上次使用的票据记录下来。周而复始。也就是说服务器始终保存着2个票据,其有效时间是60天,60天后,上次使用的票据就会被系统丢弃。如果你的GHOST备份里带有的票据是60天的,那么该计算机将不能被KDC服务验证,从而系统将禁止在这个计算机上的任何访问请求(包括登录),解决的方法呢,简单的方法使将计算机脱离域并重新加入,KDC服务会重新设置这一票据。或者使用2000资源包里的NETDOM命令强制重新设置安全票据。因此在有域的环境下,请尽量不要在计算机加入域后使用GHOST备份系统分区,如果作了,请在恢复时确认备份是在60天内作的,如果超出,就最好联系你的系统管理员,你可以需要管理员重新设置计算机安全票据,否则你将不能登录域环境。

Tags: 泛解析 站长

发布: 老漂 分类: 网站|站长 评论: 0 浏览: 729

镜像跳转脚本

/* 镜像跳转
     By joe         www.1100do.cn
     2007-05-23
*/
var imgheight1
var imgleft1
document.ns = navigator.appName == "Netscape"
window.screen.width>800 ? imgheight1=230:imgheight1=350
window.screen.width>1000 ? imgleft1=100:imgleft1=330
function myload1()
{
         myleft1.style.top=document.body.scrollTop+document.body.offsetHeight-imgheight1;
         myleft1.style.right=imgleft1;
         leftmove1();
}
function leftmove1()
{
     myleft1.style.top=document.body.scrollTop+document.body.offsetHeight-imgheight1;
     myleft1.style.right=imgleft1;
     setTimeout("leftmove1();",1)
}
    if (window.location.href.substring(0,10)=="http://cnc")
     {
     document.write("<div id=myleft1 style='position:


absolute;width:90;top:"+window.screen.height+";left:"+(window.screen.width-200)


+";visibility: visible;z-index: 1'>");
     document.write("<a href=http://www"+window.location.href.substring(10,2048)+"><img


src=./images/www.gif border=0 alt=sebug.NET电信镜像站点></a><br />");
     document.write("<a href=http://uni"+window.location.href.substring(10,2048)+"><img


src=./images/uni1.gif border=0 alt=sebug.NET联通镜像站点></a>");
     document.write("</div>");
     myload1()
     }
    else     if (window.location.href.substring(0,10)=="http://uni")
     {
     document.write("<div id=myleft1 style='position:


absolute;width:90;top:"+window.screen.height+";left:"+(window.screen.width-200)


+";visibility: visible;z-index: 1'>");
     document.write("<a href=http://www"+window.location.href.substring(10,2048)+"><img


src=./images/www.gif border=0 alt=sebug.NET电信镜像站点></a><br />");
     document.write("<a href=http://cnc"+window.location.href.substring(10,2048)+"><img


src=./images/cnc1.gif border=0 alt=sebug.NET网通镜像站点></a>");
     document.write("</div>");
     myload1()
     }
else
     {
     document.write("<div id=myleft1 style='position:


absolute;width:90;top:"+window.screen.height+";left:"+(window.screen.width-200)


+";visibility: visible;z-index: 1'>");
     document.write("<a href=http://cnc"+window.location.href.replace


("//sebug.net/","//cnc.sebug.net/").substring(10,2048)+"><img src=./images/cnc.gif border=0


alt=SEBUG.NET网通镜像站点></a><br />");
     document.write("<a href=http://uni"+window.location.href.replace


("//sebug.net/","//uni.sebug.net/").substring(10,2048)+"><img src=./images/uni1.gif border=0


alt=SEBUG.NET联通镜像站点></a>");
     document.write("</div>");
     myload1()
     }

Tags: 代码

发布: 老漂 分类: 网站|站长 评论: 0 浏览: 579

生成静态页大全[ASP/PHP/ASPX]

ASP生成静态网页的方法
  随着网站访问量的加大,每次从数据库读取都是以效率作为代价的,很多用ACCESS作数据库的更会深有体会,静态页加在搜索时,也会被优先考虑。互联网上流行的做法是将数据源代码写入数据库再从数据库读取生成静态面,这样无形间就加大了数据库。将现有的ASP页直接生成静态页,将会节省很多。

  下面的例子是将、index.asp?id=1/index.asp?id=2/index.asp?id=3/这三个动态页面,分别生成ndex1.htm,index2.htm,index3.htm存在根目录下面:

<%
dim strUrl,Item_Classid,id,FileName,FilePath,Do_Url,Html_Temp
Html_Temp="<UL>"
For i=1 To 3
Html_Temp = Html_Temp&"<LI>"
Item_Classid = i
FileName = "Index"&Item_Classid&".htm"
FilePath = Server.MapPath("/")&"\"&FileName
Html_Temp = Html_Temp&FilePath&"</LI>"
Do_Url = "http://"
Do_Url = Do_Url&Request.ServerVariables("SERVER_NAME")&"/main/index.asp"
Do_Url = Do_Url&"?Item_Classid="&Item_Classid
strUrl = Do_Url
dim objXmlHttp
set objXmlHttp = Server.CreateObject("Microsoft.XMLHTTP")
objXmlHttp.open "GET",strUrl,false
objXmlHttp.send()
Dim binFileData
binFileData = objXmlHttp.responseBody
Dim objAdoStream
set objAdoStream = Server.CreateObject("ADODB.Stream")
objAdoStream.Type = 1
objAdoStream.Open()
objAdoStream.Write(binFileData)
objAdoStream.SaveToFile FilePath,2
objAdoStream.Close()
Next
Html_Temp = Html_Temp&"<UL>"
%>
<%
Response.Write ( "成功生成文件:" )
Response.Write ( "<BR>" )
Response.Write Html_Temp
%>

PHP生成静态网页的方法
  看到很多朋友在各个地方发帖问PHP生成静态文章系统的方法,以前曾做过这样一个系统,遂谈些看法,以供各位参考。好了,我们先回顾一些基本的概念。
  一,PHP脚本与动态页面。
  PHP脚本是一种服务器端脚本程序,可通过嵌入等方法与HTML文件混合,也可以类,函数封装等形式,以模板的方式对用户请求进行处理。无论以何种方式,它的基本原理是这样的。由客户端提出请求,请求某一页面 -----> WEB服务器引入指定相应脚本进行处理 -----> 脚本被载入服务器 -----> 由服务器指定的PHP解析器对脚本进行解析形成HTML语言形式 ----> 将解析后的HTML语句以包的方式传回给浏览器。由此不难看出,在页面发送到浏览器后,PHP就不存在了,已被转化解析为HTML语句。客户请求为一动态文件,事实上并没有真正的文件存在在那里,是PHP解析而成相对应的页面,然后发送回浏览器。这种页面处理方式被称为“动态页面”。
  二,静态页面。
  静态页面是指在服务器端确实存在的仅含HTML以及JS,CSS等客户端运行脚本的页面。它的处理方式是。由客户端提出请求,请求某一页面 ----> WEB服务器确认并载入某一页面 ----> WEB服务器将该页面以包的形式传递回浏览器。由这一过程,我们对比一下动态页面,即可方现。动态页面需由WEB服务器的PHP解析器进行解析,而且通常还需连接数据库,进行数据库存取操作,然后才能形成HTML语言信息包;而静态页面,无须解析,无须连接数据库,直接发送,可大大减轻服务器压力,提高服务器负载能力,大幅提供页面打开速度和网站整体打开速度。但其缺点是,不能动态地对请求进行处理,服务器上必须确实存在该文件。
  三,模板及模板解析。
  模板即尚未填充内容html文件。例如:
 temp.html

<HTML>
<TITLE>{ title }</TITLE>
<BODY>
this is a { file } file's templets
</BODY>
</HTML>
PHP处理:
 templetest.php

<?php
$title = "http://siyizhu.com测试模板";
$file = "TwoMax Inter test templet,<br>author:Matrix@Two_Max";

 $fp = fopen ("temp.html","r");
$content = fread ($fp,filesize ("temp.html"));
$content .= str_replace ("{ file }",$file,$content);
$content .= str_replace ("{ title }",$title,$content);

echo $content;
?>
模板解析处理,即将经PHP脚本解析处理后得出的结果填充(content)进模板的处理过程。通常借助于模板类。目前较流行的模板解析类有phplib,smarty,fastsmarty等等。模板解析处理的原理通常为替换。也有些程序员习惯将判断,循环等处理放进模板文件中,用解析类处理,典型应用为block概念,简单来说即为一个循环处理。由PHP脚本指定循环次数,如何循环代入等,再由模板解析类具体实施这些操作。
  好了,对比过静态页面与动态页面各自的优劣,现在我们就来说说,如何用PHP生成静态文件。
  PHP生成静态页面并不是指PHP的动态解析,输出HTML页面,而是指用PHP创建HTML页面。同时因为HTML的不可写性,我们创建的HTML若有修改,则需删掉重新生成即可。(当然你也可以选择用正则进行修改,但个人认为那样做倒不如删掉重新生成来得快捷,有些得不偿失。)
  言归正传。用过PHP文件操作函数的PHP FANS知道,PHP中有一个文件操作函数fopen,即打开文件。若文件不存在,则尝试创建。这即是PHP可以用来创建HTML文件的理论基础。只要用来存放HTML文件的文件夹有写权限(即权限定义0777),即可创建文件。(针对UNIX系统而言,Win系统无须考虑。)仍以上例为例,若我们修改最后一句,并指定在test目录下生成一个名为test.html的静态文件:

<?php
$title = "http://siyizhu.com测试模板";
$file = "TwoMax Inter test templet,<br>author:Matrix@Two_Max";
 $fp = fopen ("temp.html","r");
$content = fread ($fp,filesize ("temp.html"));
$content .= str_replace ("{file}",$file,$content);
$content .= str_replace ("{title}",$title,$content);
// echo $content;
$filename = "test/test.html";
$handle = fopen ($filename,"w"); //打开文件指针,创建文件
/*
 检查文件是否被创建且可写
*/
if (!is_writable ($filename)){
die ("文件:".$filename."不可写,请检查其属性后重试!");
}
if (!fwrite ($handle,$content)){ //将信息写入文件
die ("生成文件".$filename."失败!");
}
fclose ($handle); //关闭指针

die ("创建文件".$filename."成功!");
?>
实际应用中常见问题解决方案参考:
  一,文章列表问题:  
  在数据库中创建字段,记录文件名,每生成一个文件,将自动生成的文件名存入数据库,对于推荐文章,只需指向存放静态文件的指定文件夹中的该页面即可。利用PHP操作处理文章列表,存为字符串,生成页面时替换此字符串即可。如,在页面中放置文章列表的表格加入标记{articletable},而在PHP处理文件中:

<?php
$title = "http://siyizhu.com测试模板";
$file = "TwoMax Inter test templet,<br>author:Matrix@Two_Max";
$fp = fopen ("temp.html","r");
$content = fread ($fp,filesize ("temp.html"));
$content .= str_replace ("{file}",$file,$content);
$content .= str_replace ("{title}",$title,$content);
// 生成列表开始
$list = '';
$sql = "select id,title,filename from article";
$query = mysql_query ($sql);
while ($result = mysql_fetch_array ($query)){
$list .= '<a href='.$root.$result['filename'].' target=_blank>'.$result['title'].'</a><br>';
}
$content .= str_replace ("{articletable}",$list,$content);
//生成列表结束
// echo $content;
$filename = "test/test.html";
$handle = fopen ($filename,"w"); //打开文件指针,创建文件
/*
 检查文件是否被创建且可写
*/
if (!is_writable ($filename)){
die ("文件:".$filename."不可写,请检查其属性后重试!");
}
if (!fwrite ($handle,$content)){ //将信息写入文件
die ("生成文件".$filename."失败!");
}
fclose ($handle); //关闭指针
die ("创建文件".$filename."成功!");
?>
二,分页问题。
  如我们指定分页时,每页20篇。某子频道列表内文章经数据库查询为45条,则,首先我们通过查询得到如下参数:1,总页数;2,每页篇数。第二步,for ($i = 0; $i < allpages; $i++),页面元素获取,分析,文章生成,都在此循环中执行。不同的是,die ("创建文件".$filename."成功!";这句去掉,放到循环后的显示,因为该语句将中止程序执行。例:

<?php
$fp = fopen ("temp.html","r");
$content = fread ($fp,filesize ("temp.html"));
$onepage = '20';
$sql = "select id from article where channel='$channelid'";
$query = mysql_query ($sql);
$num = mysql_num_rows ($query);
$allpages = ceil ($num / $onepage);
for ($i = 0;$i<$allpages; $i++){
if ($i == 0){
$indexpath = "index.html";
} else {
$indexpath = "index_".$i."html";
}
$start = $i * $onepage;
$list = '';
$sql_for_page = "select name,filename,title from article where channel='$channelid' limit $start,$onepage";
$query_for_page = mysql_query ($sql_for_page);
while ($result = $query_for_page){
$list .= '<a href='.$root.$result['filename'].' target=_blank>'.$title.'</a><br>';
}
$content = str_replace ("{articletable}",$list,$content);
if (is_file ($indexpath)){
@unlink ($indexpath); //若文件已存在,则删除
}
$handle = fopen ($indexpath,"w"); //打开文件指针,创建文件
/*
  检查文件是否被创建且可写
*/
if (!is_writable ($indexpath)){
echo "文件:".$indexpath."不可写,请检查其属性后重试!"; //修改为echo
}
if (!fwrite ($handle,$content)){ //将信息写入文件
echo "生成文件".$indexpath."失败!"; //修改为echo
}
fclose ($handle); //关闭指针
}
fclose ($fp);
die ("生成分页文件完成,如生成不完全,请检查文件权限系统后重新生成!");
?>
大致思路如此,其中如其它数据生成,数据输入输出检查,分页内容指向等可酌情在页面中加入。
  在实际文章系统处理过程当中,还有许多问题有待考虑,与动态页面不同之处,需注意的地方还有很多。但大致思路即是如此,其它方面可举一反三而得。

ASP.NET生成静态网页的方法
环境:Microsoft .NET Framework SDK v1.1
OS:Windows Server 2003 中文版
ASP.Net生成静态HTML页
在Asp中实现的生成静态页用到的FileSystemObject对象!
在.Net中涉及此类操作的是System.IO
以下是程序代码 注:此代码非原创!参考别人代码

//生成HTML页
public static bool WriteFile(string strText,string strContent,string strAuthor)
{
string path = HttpContext.Current.Server.MapPath("/news/");
Encoding code = Encoding.GetEncoding("gb2312");
// 读取模板文件
string temp = HttpContext.Current.Server.MapPath("/news/text.html");
StreamReader sr=null;
StreamWriter sw=null;
string str="";
try
{
sr = new StreamReader(temp, code);
str = sr.ReadToEnd(); // 读取文件
}
catch(Exception exp)
{
HttpContext.Current.Response.Write(exp.Message);
HttpContext.Current.Response.End();
sr.Close();
}

string htmlfilename=DateTime.Now.ToString("yyyyMMddHHmmss")+".html";
// 替换内容
// 这时,模板文件已经读入到名称为str的变量中了
str =str.Replace("ShowArticle",strText); //模板页中的ShowArticle
str = str.Replace("biaoti",strText);
str = str.Replace("content",strContent);
str = str.Replace("author",strAuthor);
// 写文件
try
{
sw = new StreamWriter(path + htmlfilename , false, code);
sw.Write(str);
sw.Flush();
}
catch(Exception ex)
{
HttpContext.Current.Response.Write(ex.Message);
HttpContext.Current.Response.End();
}
finally
{
sw.Close();
}
return true;
此函数放在Conn.CS基类中了
在添加新闻的代码中引用 注:工程名为Hover

if(Hover.Conn.WriteFilethis.Title.Text.ToString),this.Content.Text.ToString),this.Author.Text.ToString)))
{
Response.Write("添加成功");
}
else
{
Response.Write("生成HTML出错!");
}
模板页Text.html代码

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
<HEAD>
<title>ShowArticle</title>
<body>
biaoti
<br>
content<br>
author
</body>
</HTML>
biaoti
<br>
content<br>
author
</body>
</HTML>



Tags: asp php

发布: 老漂 分类: 网站|站长 评论: 0 浏览: 482