求助:设置上传文件路径的疑难问题
我在两个不同的网络空间上传文件,遇到了上传路径问题。A空间必需设置为绝对路径;如“/uploadfile/”
而B空间又必需设置为相对路径。如“../../uploadfile/”
两个空间的上传路径设置如果调换了,上传就不正常,不能读取到上传的文件。
注意:都设置为绝对路径或者相对路径,总有一个空间的上传会出错。
不知出现这种情况的原因何在?
上传文件的位置为:\网站\Editor\editor\upload.asp
请教各位,有没有统一的变通方法解决上传的路径问题。(或者说怎样设置上传路经后使A、B两个空间都适用)
upload.asp源码如下:
---------------------------------------------------------------------
<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<%
on error resume next
Server.ScriptTimeOut=5000
%>
<!--#include file="UpLoadClass.asp"-->
<%
if Request.QueryString("action")="upload" then
dim MyRequest,lngUpSize,SavePath
SavePath="../../uploadfile/" '设置上传目录
SavePath=replace(SavePath,"\","/")
Set MyRequest=new UpLoadClass
MyRequest.SavePath=SavePath
'设置允许上传的文件类型
UploadType=trim(Request.QueryString("uploadtype"))
if UploadType="img" then
MyRequest.FileType="jpg/gif/bmp/png"
elseif UploadType="attach" then
MyRequest.FileType="rar/zip"
end if
'判断上传目录是否存在,不存在则自动创建
FolderPath=server.MapPath(SavePath)
Set FSO=Server.CreateObject("Scripting.FileSystemObject")
if FSO.FolderExists(FolderPath)=false then
FSO.CreateFolder(FolderPath)
end if
Set FSO=nothing
'取得当前文件所在目录
FileName=Right(Request.Servervariables("Script_Name"),len(Request.Servervariables("Script_Name"))-InstrRev(Request.Servervariables("Script_Name"),"/"))
FileFolder=replace(Request.Servervariables("Script_Name"),FileName,"")
'获取文件地址的根绝对路径
if left(SavePath,1)="/" then
uploadPath=SavePath
else
uploadPath=FileFolder&SavePath
end if
lngUpSize = MyRequest.Open()
select case MyRequest.error
case 0
if UploadType="img" then
response.Write("<script>window.parent.LoadIMG('"&uploadPath&trim(MyRequest.form("file1"))&"');</script>")
elseif UploadType="attach" then
response.Write("<script>window.parent.LoadAttach('"&uploadPath&trim(MyRequest.form("file1"))&"');</script>")
end if
case 1
response.Write("<script>alert('文件过大!');window.parent.$('divProcessing').style.display='none';history.back();</script>")
case 2
response.Write("<script>alert('不允许上传该类型的文件!');window.parent.$('divProcessing').style.display='none';history.back();</script>")
case 3
response.Write("<script>alert('不允许上传该类型的文件!');window.parent.$('divProcessing').style.display='none';history.back();</script>")
case else
response.Write("<script>alert('文件上传出错!');window.parent.$('divProcessing').style.display='none';history.back();</script>")
end select
end if
%>
---------------------------------------------------------------------
[[it] 本帖最后由 zslj 于 2008-5-1 19:24 编辑 [/it]]