设为首页收藏本站

新微赢技术网

 找回密码
 注册
搜索
热搜: 回贴
查看: 131|回复: 9
打印 上一主题 下一主题

帮帮忙,看看哪里有问题

[复制链接]
跳转到指定楼层
1#
发表于 2010-1-11 05:16:16 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我是个新手,下面这段程序是用来看文件的源程序的,只是它得到的是个相对路径,而且只能打开同目录下的文件,打开其他目录下的文件会报错,问什么file值不是绝对路径呢?
如果我要得到绝对路径并且能打开其他目录下的文件该怎么改?
各位大虾笑过后帮帮忙,谢谢。

<%
Function showcode(filename)
    Set fso=server.CreateObject("scripting.filesystemobject")
    Set cnrs=fso.opentextfile(filename,1)
    While Not cnrs.atendofstream
        rsline=cnrs.readline
        rsline=server.htmlencode(rsline)
        response.write (rsline&"<br>")
    Wend
End Function
%>
<form action="index.asp" method="post">
<input name="filename" type="file">
<input type="submit" value="查看源程序">
</form>
<%
file=request.Form("filename")
response.write (file&"源程序如下:<hr>")
If Trim(file)<>"" Then
    Call showcode(file)
End If
%>
2#
发表于 2010-1-11 05:16:20 | 只看该作者
回复 2楼 孤独冷雨
你好,不知道你在你那里运行的结果是怎么样的,但我这里还是不行,不能打开其他目录下的文件,会报错,而且file值显示的还是相对路径。
还有,你能稍微解释一下  action="?action=ck"  是什么意思吗?谢谢。
回复 支持 反对

使用道具 举报

3#
发表于 2010-1-11 05:16:23 | 只看该作者
客户端读取本机文件还是读取服务器端的文件?
回复 支持 反对

使用道具 举报

4#
发表于 2010-1-11 05:16:27 | 只看该作者
<%
Function showcode(filename)
    Set fso=server.CreateObject("scripting.filesystemobject")
    Set cnrs=fso.opentextfile(filename,1)
    While Not cnrs.atendofstream
        rsline=cnrs.readline
        rsline=server.htmlencode(rsline)
        response.write (rsline&"<br>")
    Wend
End Function
%>
<form action="?action=ck" method="post">
<input name="filename" type="file">
<input type="submit" value="查看源程序">
</form>
<%
if request("action")="ck" then
file=request.Form("filename")
response.write (file&"源程序如下:<hr>")
If Trim(file)<>"" Then
    Call showcode(file)
End If
end if
%>
回复 支持 反对

使用道具 举报

5#
发表于 2010-1-11 05:16:31 | 只看该作者
提交后,直接显示你所选文件的源程码,我已经测试成功了,我在IIS下浏览可以查看我电脑任何盘符里的文件,不知道你为什么会错!你是不是想看别人电脑人的东西?
回复 支持 反对

使用道具 举报

6#
发表于 2010-1-11 05:16:35 | 只看该作者
我资料里正好有一个viewCODE.ASP,发给你参考下
<%
SUB PrintLine (ByVal strLine)
    strLine=server.HTMLEncode(strLine)
    strLine=replace(strLine,"&lt;%","<FONT COLOR=#ff0000>&lt;%")
    strLine=replace(strLine,"%&gt;","%&gt;</FONT>")
    strLine=replace(strLine,"&lt;SCRIPT","<FONT COLOR=#0000ff>&lt;SCRIPT",1,-1,1)
    strLine=replace(strLine,"&lt;/SCRIPT&gt;","&lt;/SCRIPT&gt;</FONT>",1,-1,1)
    strLine=replace(strLine,"&lt;!--","<FONT COLOR=#008000>&lt;!--",1,-1,1)
    strLine=replace(strLine,"--&gt;","--&gt;</FONT>",1,-1,1)
    Response.Write strLine
END SUB
Function ShowCode(filename)
    Dim strFilename
    Dim FileObject, oInStream, strOutput   
    strFilename = filename
    Set FileObject = Server.CreateObject("Scripting.FileSystemObject")
    Set oInStream = FileObject.OpenTextFile(strFilename, 1, 0, 0 )
    While NOT oInStream.AtEndOfStream
        strOutput = oInStream.ReadLine
        Call PrintLine(strOutput)
        Response.Write("<BR>")
    Wend
end function
%>
<HTML>
<HEAD>
<TITLE>ASP源码浏览器</TITLE>
</HEAD>
<BODY BGCOLOR=#FFFFFF>
<form action=viewcode.asp method=post>
请输入ASP文件名
<input type=file name=filename>
<input type=submit value="查看源程序">
</form>
<%
on error resume next
dim file
file=request.form("filename")
response.write file & "源程序如下<hr>"
if trim(file)<> "" then
  call showcode(file)
end if
%>
</FONT>
</BODY>
</HTML>
回复 支持 反对

使用道具 举报

7#
发表于 2010-1-11 05:16:39 | 只看该作者
如果读取服务器端的文件可以实现,读取客户端的就相当难了
回复 支持 反对

使用道具 举报

8#
发表于 2010-1-11 05:16:43 | 只看该作者
回复 8楼 孤独冷雨
估计是IIS没装好,我用的是一个小软件,没装IIS,谢谢你,真的不能稍微解释一下 action="?action=ck" 是什么意思吗?
回复 支持 反对

使用道具 举报

9#
发表于 2010-1-11 05:16:47 | 只看该作者
其中SUB PrintLine (ByVal strLine) 可以不要,它的作用就是使html语言和asp语言显示不同的颜色。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

申请友链|小黑屋|最新主题|手机版|新微赢技术网 ( 苏ICP备08020429号 )  

GMT+8, 2024-11-18 09:32 , Processed in 0.076145 second(s), 8 queries , Gzip On, Memcache On.

Powered by xuexi

© 2001-2013 HaiAn.Com.Cn Inc. 寰耽

快速回复 返回顶部 返回列表