关于asp+fso创建文件夹,复制文件的问题
需求,根据传递过来的参数(其实是用户名)生成文件夹,然后从maban目录下复制几个文件到新创建的文件夹中,如果存在同名文件或文件夹就覆盖掉。以下代码,请高手看看哪里出错了...
需求,根据传递过来的参数(其实是用户名)生成文件夹,然后从maban目录下复制几个文件到新创建的文件夹中,如果存在同名文件或文件夹就覆盖掉。
以下代码,请高手看看哪里出错了?
userdir=username ''建立一个与用户同名的文件夹
file1="../moban/index.asp" ''要复制的源文件
tofile1="../"&userdir&"/index.asp" ''复制后存放的文件
file2="../moban/list.asp"
tofile2="../"&userdir&"/list.asp"
file3="../moban/conn.asp"
tofile3="../"&userdir&"/conn.asp"
TempSource1= Server.MapPath(file1)
TempEnd1=Server.MapPath(tofile1)
TempSource2= Server.MapPath(file2)
TempEnd2=Server.MapPath(tofile2)
TempSource3= Server.MapPath(file3)
TempEnd3=Server.MapPath(tofile3)
Set fso1 = CreateObject("Scripting.FileSystemObject")
If fso1.FolderExists(userdir) then
fso1.CopyFile TempSource1,TempEnd1
fso1.CopyFile TempSource2,TempEnd2
fso1.CopyFile TempSource3,TempEnd3
else
fso1= fso1.CreateFolder(userdir) ''出错行,提示没Microsoft VBScript runtime 错误 '800a0046' Permission denied
fso1.CopyFile TempSource1,TempEnd1 ''这行有时也出错。
fso1.CopyFile TempSource2,TempEnd2
fso1.CopyFile TempSource3,TempEnd3
Set fso1 = nothing
end if 展开
以下代码,请高手看看哪里出错了?
userdir=username ''建立一个与用户同名的文件夹
file1="../moban/index.asp" ''要复制的源文件
tofile1="../"&userdir&"/index.asp" ''复制后存放的文件
file2="../moban/list.asp"
tofile2="../"&userdir&"/list.asp"
file3="../moban/conn.asp"
tofile3="../"&userdir&"/conn.asp"
TempSource1= Server.MapPath(file1)
TempEnd1=Server.MapPath(tofile1)
TempSource2= Server.MapPath(file2)
TempEnd2=Server.MapPath(tofile2)
TempSource3= Server.MapPath(file3)
TempEnd3=Server.MapPath(tofile3)
Set fso1 = CreateObject("Scripting.FileSystemObject")
If fso1.FolderExists(userdir) then
fso1.CopyFile TempSource1,TempEnd1
fso1.CopyFile TempSource2,TempEnd2
fso1.CopyFile TempSource3,TempEnd3
else
fso1= fso1.CreateFolder(userdir) ''出错行,提示没Microsoft VBScript runtime 错误 '800a0046' Permission denied
fso1.CopyFile TempSource1,TempEnd1 ''这行有时也出错。
fso1.CopyFile TempSource2,TempEnd2
fso1.CopyFile TempSource3,TempEnd3
Set fso1 = nothing
end if 展开
展开全部
你提供的代码好复杂,所以没有细看,大概是因为路径的关系而出错。以下这个测试无误,需要注意要创建的文件夹及moban文件夹在当前文件的上一目录!
<%
userdir=username
dir=server.MapPath("../"&userdir) '根据你后面的文件地址,确定应该是上一级
set fso = server.CreateObject("Scripting.FileSystemObject")
if not fso.FolderExists(dir) then '如果文件夹不存在则创建
fso.CreateFolder(dir)
end if
file1=server.MapPath("../moban/index.asp")&","&server.MapPath("../moban/list.asp")&","&server.MapPath("../moban/conn.asp")
tofile1=server.MapPath("../"&userdir&"/index.asp")&","&server.MapPath("../"&userdir&"/list.asp")&","&server.MapPath("../"&userdir&"/conn.asp")
'少写点代码 所以放到数组中
filex=split(file1,",")
filey=split(tofile1,",")
for i=0 to ubound(filex) '循环复制文件
call fso.copyfile(filex(i),filey(i))
next
set fso = nothing
%>
<%
userdir=username
dir=server.MapPath("../"&userdir) '根据你后面的文件地址,确定应该是上一级
set fso = server.CreateObject("Scripting.FileSystemObject")
if not fso.FolderExists(dir) then '如果文件夹不存在则创建
fso.CreateFolder(dir)
end if
file1=server.MapPath("../moban/index.asp")&","&server.MapPath("../moban/list.asp")&","&server.MapPath("../moban/conn.asp")
tofile1=server.MapPath("../"&userdir&"/index.asp")&","&server.MapPath("../"&userdir&"/list.asp")&","&server.MapPath("../"&userdir&"/conn.asp")
'少写点代码 所以放到数组中
filex=split(file1,",")
filey=split(tofile1,",")
for i=0 to ubound(filex) '循环复制文件
call fso.copyfile(filex(i),filey(i))
next
set fso = nothing
%>
展开全部
对所在目录没有写权限?
你是NTFS吧?需要右键该文件夹“共享与安全”里添加
"Internet来宾 IUSER_计算机名"账户,并设置写权限。
你是NTFS吧?需要右键该文件夹“共享与安全”里添加
"Internet来宾 IUSER_计算机名"账户,并设置写权限。
追问
哥哥,是传到网站上用的。
本地测试fso1.CopyFile TempSource1,TempEnd1 ''这行有时也出错
追答
一、可能权限不够,见前面已回答的。
二、可能源路径不对,没有找到index.asp,../moban/list.asp...等相应文件!
三、可能你的空间不支持fso?
把
Set fso1 = CreateObject("Scripting.FileSystemObject")
加上前缀Server.,改成:
Set fso1 = Server.CreateObject("Scripting.FileSystemObject")
试试!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
很多提供虚拟主机的服务商的服务器里面,都没有开通FSO操作权限的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询