简易实现网上动态信息发布Word格式文档下载.docx
《简易实现网上动态信息发布Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《简易实现网上动态信息发布Word格式文档下载.docx(14页珍藏版)》请在冰豆网上搜索。
方案考虑:
----1.原文件格式的处理
----由于信息源为纯文本文件按照各个栏目存放在相应的子目录内,要将它转换为
HTML文件格式以便能以更好的方式在网络上显示。
----2.每日信息目录索引的建立
----为方便访问者的查阅,有必要建立一个信息的索引。
提供显示每条信息的标题
或简介。
并且访问者可以直接通过索引查阅到相应文章。
这就要求索引上必须有与
相应信息文本的超连接。
----3.日期查询的实现
----对于信息的日期查询,考虑到信息存储空间的限制,只提供一定时间段的信息。
由于这些时间段是动态的,为了不使查询工作繁琐,以及保持显示界面的简洁明了,
动态更新日期列表。
并使其与相应的信息目录索引进行联结。
----4.信息的访问权限
----使用最简单的加密方法,将信息文本放在固定的子目录中,对服务器进行设置,
设制对该目录的访问权限以实现对信息的访问控制。
解决方法(以九月七日的信息处理为例):
----编写程序html.exe。
其功能是:
----
(1),读取当日信息日期。
----
(2),查找相应日期的源文件存放目录,读取目录下相应的文件。
----(3),提出文件的标题字符串,放入当日的目录索引文件中。
(例如index90
7.html)在放入的时候对它进行处理建立相应的超连接。
另外对目录索引文件进行
处理,加入背景、及书签方便阅读。
----(4),对信息的原纯文本文件进行处理,加入背景、字体等修饰,使之成为标
准的HTML文件。
----(5),生成当日的日期查询列表:
修改上次的列表,删除最早的日期,增加当
日日期,保证以一个固定的时间段的信息量。
这样却保有一个稳定的存储空间,并
且避免出现由于非工作日无信息而导致的用户连接找不到相应地址的情况。
----通过程序html.exe的运行对原信息进行相应处理,生成三组文件:
----1-信息文本,2-目录索引,3-日期索引。
----每日将生成的三组文件上载到相应的子目录即实现了对信息的每日更新。
方案的优点:
每日的维护简单,操作容易,一般操作员都能很快上手。
整个操作安全稳定,不会出现连接中断网址找不到的情况。
费用很低,不需要购买大型数据库软件和编写专业的查询软件。
实现时间短,能够在较短的时间里实现信息的动态网上发布。
程序清单:
#include<
stdio.h>
string.h>
conio.h>
#defineLANXMAX150
FILE*FileR,*FileW,*FileWIndex;
charPath1[]="
c:
\\html\\mrcj\\"
;
charPath2[]="
\\html\\mrcj\\txt\\"
charPath3[50];
charPath4[]="
\\html\\ccrindex.htm"
charPath5[]="
\\html\\html.ini"
charPath6[]="
\\html\\html-1"
charPath7[]="
\\html\\html-2"
charMonth[10],Date[10];
charFileName[50];
charFileNameIndex[20];
charFilePath1[50];
//...08\\
charFilePath2[50];
//...08\\jxxta\\
charWriteFileName[50];
charIndexFileName[50];
charFileBak[5];
charLanMu;
charTime[20];
charYEAR;
charIndexLANMU[6][19]={
"
中外财经要闻"
"
法律法规政策"
经济形势分析"
企业改革透视"
社会保障制度"
改革发展研究"
};
intFileNum;
intYea,Mon,Dat;
voidFileIni()
{
switch(Yea)
{
case98:
case1998:
YEAR='
B'
case99:
case1999:
J'
default:
}
if(Yea<
100)Yea+=1900;
FileNum=0;
sprintf(FilePath1,"
\\fl\\%02d\\"
Dat);
sprintf(FileBak,"
.%1X%02d"
Mon,Dat);
}
voidAddFileProc(intnum)
charFLanRead[LANXMAX];
charMainLan[LANXMAX];
charFENLEI[50];
charIndexLan[150];
inti;
sprintf(FENLEI,"
.中国改革.每日财经信息.
%02d月%02d日\r
<
br>
\r\n<
\r\n"
printf("
*"
);
sprintf(FileName,"
%sjxxt%c%03d%s"
FilePath2,LanMu,num,FileBak);
if(!
(FileR=fopen(FileName,"
rb"
))){
printf("
cannotopenthisfile\n"
return;
//-------------addhtmlhead------------
fputs("
<
html>
\r\n<
bodybackground=\
../../../../images/bk_creform.jpg\"
>
\r\n"
FileW);
fputs(FENLEI,FileW);
fgets(FLanRead,LANXMAX-5,FileR);
//---------addindexprocedure---------
sprintf(IndexLan,"
ahref=\"
txt/%02d/%s\"
target=\"
new\"
%s<
\r"
Dat,FileNameIndex,FLanRead);
//fputs("
"
FileWIndex);
fputs(IndexLan,FileWIndex);
while(!
feof(FileR))
fputs(FLanRead,FileW);
strcpy(FLanRead,"
FLanRead[strlen(FLanRead)-1]='
\0'
fclose(FileR);
//-------------addhtmlend------------
/body>
/html>
voidMakeMainFile()
FILE*fp,*fpp,*fppp;
charccc,fn[50],fff[150];
intn,mm,ddd;
//-----------html---------
if((fppp=fopen(Path4,"
wb"
))==NULL){
不能打开目标文件!
\n"
CannotWritethefile:
%s\n"
Path3);
return;
if((fpp=fopen(Path6,"
不能打开文件数目文件!
CannotOpenthefile:
fpp);
ccc=fgetc(fpp);
do{
fputc(ccc,fppp);
}while(!
feof(fpp));
fclose(fpp);
if((fp=fopen(Path7,"
fp);
//---------html-------------
if((fp=fopen(Path5,"
n=0;
fscanf(fp,"
%d"
&
mm);
ddd);
do
n++;
if(mm<
1||ddd<
1||mm>
12||ddd>
31){
日期错误!
dateiswrongin:
c:
\html\html.ini"
sprintf(fff,"
tr>
tdalign=\"
center\"
bgcolor=\"
#FF0000\"
../mrcj/INDEX%1X%02d.HTM\"
right\"
%d月%d日<
/a>
/td>
/tr>
mm,ddd,mm,ddd);
fputs(fff,fppp);
//---------addindexprocedure----------
}while((!
feof(fp))&
&
(n<
25));
fclose(fp);
//-------------html---------
if((fpp=fopen(Path7,"
fclose(fppp);
voidAddFile()
FILE*fp;
charfn[50],fi[50];
intn;
sprintf(FilePath2,"
%sjxxt%c\\"
FilePath1,
LanMu);
\n%s"
FilePath2);
sprintf(fn,"
%sjxxt%cdat%s"
FilePath2,LanMu,
FileBak);
if((fp=fopen(fn,"
fn);
fp)
else
FileNum=fgetc(fp);
%02d"
FileNum);
for(n=1;
n<
=FileNum;
n++)
sprintf(FileNameIndex,
%c%1X%02d%c%03d.HTM"
YEAR,Mon,Dat,LanMu,n);
sprintf(WriteFileName,"
%s%02d\\%s"
Path2,Dat,FileNameIndex);
if((FileW=fopen(WriteFileName,"
WriteFileName);
AddFileProc(n);
fclose(FileW);
main()
FILE*findex;
intxx;
clrscr();
printf("
-------------\n"
CSRESRMRCJTXTtoHTML
forCHINAREFORM.COM\n"
COPYRIGHT
YINLU1998.4.18\n"
\nPleaseinputthedate(yearmonthdate):
scanf("
%d%d%d"
&
Yea,&
Mon,&
Dat);
}while(!
((Mon>
0)&
(Mon<
13)&
(Dat>
(Dat<
32)&
(((Yea>
94)&
(Yea<
99))||
((Yea>
1994)
&
1999)))));
FileIni();
MakeMainFile();
sprintf(IndexFileName,"
%sINDEX%1X%02d.htm"
Path1,Mon,Dat);
if((FileWIndex=fopen(IndexFileName,"
))
==NULL){
IndexFileName);
return0;
!
DOCTYPEHTMLPUBLIC\"
-//IETF//DTDHTML//EN\"
\r<
head>
metahttp-equiv=\"
Content-Type\"
FileWIndex);
content=\"
text/html;
charset=gb_2312-80\"
metaname=\"
GENERATOR\"
content=\"
MicrosoftFrontPage2.0.yinlu\"
title>
中国改革.每日财经信息.目录
/title>
\n<
/head>
../../images/bk_creform.jpg\"
tableborder=\"
0\"
width=\"
100%\"
\r"
#中外财经要闻\"
name=\"
head\"
fontcolor=\"
#FFFFFF\"
face=\"
黑体\"
strong>
中外财经要闻<
/strong>
/font>
#法律法规政策\"
fontcolor=\"
法律法规政策<
#经济形势分析\"
经济形势分析<
#企业改革透视\"
企业改革透视<
#社会保障制度\"
社会保障制度<
#改革发展研究\"
改革发展研究<
/table>
\n\n"
for(LanMu='
A'
xx=0;
LanMu<
='
F'
LanMu++,xx++)
switch(xx)
case0:
p>
aname=\"
中外财经要闻\"
中外财经要闻<
break;
case1:
法律法规政策\"
法律法规政策<
case2:
经济形势分析\"
经济形势分析<
case3:
企业改革透视\"
企业改革透视<
case4:
社会保障制度\"
社会保障制度<
case5:
改革发展研究\"
改革发展研究<
\n\0"
AddFile();
/p>
\n<
#head\"
返回页首<
fclose(FileWIndex);
\nA