上一篇 | 下一篇

用文本+ASP打造新闻发布系统(四)新闻删除

发布: 2008-6-27 11:40 | 作者: admin | 来源: | 查看: 0次

<%

dim id

id=Request.QueryString ("id")

dim myfso

set myfso=createobject("scripting.filesystemobject")

if myfso.FileExists(server.mappath("./news_content/"&id&".txt"))then

myfso.DeleteFile (server.mappath("./news_content/"&id&".txt"))'#############删除新闻内容

end if

dim mytext2,myread2

set myread2=myfso.opentextfile(server.mappath("./new_list.asp"),1,0)

if myread2.atendofstream then

Response.Write "没有新闻内容"

myread2.close

Response.End

end if

mytext2=myread2.readall

myread2.close

dim listarray,i,h,count,sf,title

listarray=split(mytext2,"|") '#########读取记录并以#分割成listarray数组

count=ubound(listarray)

for i=0 to count '###########根据ID找到该新闻实现删除功能

sf=split(listarray(i),",")

if right(sf(0),7)=right(id,7) then

dim thisid

thisid=i

'#######为6说明上传了图片,删除新闻图片和该列表记录

if ubound(sf)=6 then

myfso.deletefile(server.MapPath ("./images/"&sf(6)))

end if

exit for

end if

next

dim mytext,mappath

mappath=server.mappath("./")

set mytext=myfso.createtextfile(mappath&"\new_list.asp",-1,0)

for i=0 to thisid-1' ##########把所有数据重新写入文件

mytext.write listarray(i)&"|"

next

for i=thisid+1 to ubound(listarray)

if i=ubound(listarray) then

mytext.write listarray(i)

exit for

else

mytext.write listarray(i)&"|"

end if

next

mytext.close

%>

---------------

news_view.asp

<% Response.Expires=0

dim myid,myfso,myread,mytext1

myid=request.querystring("id")

if len(myid)=0 then

Response.Write "没有该新闻"

Response.End

end if

set myfso=createobject("scripting.filesystemobject")

set myread=myfso.opentextfile(server.mappath("./news_content/"&myid&".txt"),1,0)

if myread.atendofstream then

Response.Write "没有新闻内容"

Response.End

else

mytext1=myread.readall '#######打开对应的新闻内容文件,并读取用变量存储

function htmlencode2(str)'###########字符处理函数

dim result

dim l

l=len(str)

result=""

dim i

for i = 1 to l

select case mid(str,i,1)

case chr(34)

result=result+""""

case "&"

result=result+"&"

case chr(13)

result=result+"
"

case " "

result=result+" "

case chr(9)

result=result+" "

case chr(32)

result=result+" "

if i+1<=l and i-1>0 then

if mid(str,i+1,1)=chr(32) or mid(str,i+1,1)=chr(9) or mid(str,i-1,1)=chr(32) or mid(str,i-1,1)=chr(9) then

result=result+" "

else

result=result+" "

end if

else

result=result+" "

end if

case else

result=result+mid(str,i,1)

end select

next

htmlencode2=result

end function

myread.close

end if

dim mytext2,myread2

set myread2=myfso.opentextfile(server.mappath("./new_list.asp"),1,0)

if myread2.atendofstream then

Response.Write "没有新闻内容"

Response.End

else

mytext2=myread2.readall

myread2.close

dim listarray,i,h

listarray=split(mytext2,"|") '#########读取记录并以#分割成listarray数组

dim count,sf,title,src

count=ubound(listarray)

for i=0 to count '###########根据ID找到该新闻并把文章点击次数加1

sf=split(listarray(i),",")

if right(sf(0),7)=right(myid,7) then

title=sf(1)

src=sf(3)

sf(4)=sf(4)+1

'#######为6说明上传了图片,存储为新的数组

if ubound(sf)=6 then

listarray(i)=sf(0)&","&sf(1)&","&sf(2)&","&sf(3)&","&sf(4)&","&sf(5)&","&sf(6)

dim mypic

mypic=sf(6)

else

listarray(i)=sf(0)&","&sf(1)&","&sf(2)&","&sf(3)&","&sf(4)&","&sf(5)

end if

'##################

exit for

end if

字号: | 推荐给好友

21/212>

评分:0

我来说两句