Se/Slet/Upload system
En kammerat ville låne lidt plads på mit webhotel. Da jeg ikke ville give ham hele ftp adgangen tænkte jeg at man nok kunne lave et script som der kunne uploade filer til mapper, slette og se mapper/filer.Men skal filerne ligge i en bestemt mappe for at de skal kunne fuld redigeres på den måde eller kan man lægge dem et hvilken som helst sted? Har webhotellet hos www.b-one.net og de kører med Chili ASP og MySQL.
Mit system ser således ud: www.webonnet.dk/simon/admin - det er langtfra færdigt endnu, men der sneg sig lige et par fejl ind. Testede scriptet på min egen IIS server, men der kunne den heller ikke slette. Når jeg ikke havde if og else sætninger skrev den bare Tílladelse nægtet.
Mit script ser således ud (det meste):
<% Elseif page = "delete-file" Then %><%
dim fs
Set fs = CreateObject("Scripting.FileSystemObject")
if fs.FileExists(Request.Querystring("name")) then
fs.DeleteFile(Request.Querystring("name"))
Response.Write "Filen er slettet!"
else
Response.Write "Filen kunne ikke slettes!"
end if
set fs = nothing
%><% Else %>
<html><head><title></title></head>
<body bgcolor=silver>
<%
pPath = Server.MapPath("../")
Set fs = Server.CreateObject( "Scripting.FileSystemObject" )
Set myFolder = fs.GetFolder( pPath )
%>
<TABLE WIDTH="100%" BORDER="1" BGCOLOR="#FFFFFF" BORDERCOLOR="#000000">
<tr><td WIDTH="30%"><b><FONT>Fil Navn:</FONT></b><td WIDTH="30%"><b><FONT>File Type:</FONT></b><td WIDTH="30%"><b><FONT>File Size:</FONT></b><td WIDTH="10%"><b><FONT>Delete:</FONT></b></tr>
<% For Each thing in myFolder.Files %>
<tr><td WIDTH="30%"> <%=thing.Name%></td><td WIDTH="30%"> <%=thing.Type %><td WIDTH="30%"> <%=thing.Size %> bytes<td WIDTH="10%" align="center"><a href="default.asp?page=delete-file&name=<%=thing.Name%>">- OK -</a></tr>
<% Next %>
</table>
<BR>
<%
Dim strPath
Dim objFSO
Dim objFolder
Dim objItem
strPath = "../"
Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
Set objFolder = objFSO.GetFolder(Server.MapPath(strPath))
%>
<TABLE WIDTH="100%" BORDER="1" BGCOLOR="#FFFFFF" BORDERCOLOR="#000000">
<TR><TD WIDTH="30%"><FONT><B>Mappe navn:</B></FONT><TD WIDTH="30%"><FONT><B>File Type:</B></FONT><TD WIDTH="30%"><FONT><B>File Size:</B></FONT><td WIDTH="10%"><b><FONT>Delete:</FONT></b></TR>
<%
For Each objItem In objFolder.SubFolders
If InStr(1, objItem, "_vti", 1) = 0 Then
%>
<TR><TD WIDTH="30%"> <%= objItem.Name %><TD WIDTH="30%"> <%= objItem.Type %><TD WIDTH="30%"> <%= objItem.Size %> bytes<td WIDTH="10%" align="center"><a href="default.asp?page=delete-map&name=<%=objItem.Name%>">- OK -</a></TR>
<%
End If
Next
For Each objItem In objFolder.Files
%><%
Next 'objItem
Set objItem = Nothing
Set objFolder = Nothing
Set objFSO = Nothing
%></TABLE></body></html>
<% End if %>
Hvad er fejlen? Skal jeg måske sætte redighedder til et eller andet ISWUR user eller hvad den nu hed? Ved ikke lige hvor man satte det til, da jeg lige har formateret... :(
