03. maj 2004 - 22:02Der er
40 kommentarer og 1 løsning
Oprettelse af en ny mappe på hjemmeside ved hjælp af ASP
Hej...
Kan man oprette/slette en ny undermappe på sin hjemme side fx. www.hejhooo.dk/"den nye mappes navn" via ASP
Og kan man så uploade en fil ind i den nye mappe, uden filen som skal uploade, ved hvad den nye mappe hedder på forhånd.
Med andre ord kan man oprette en ny mappe og kopier filer ind i den, men kun via scrips/ASP som ligger på hjemmesiden, og ikke på en bestemt computer, som fx. ASPUPLOAD.
Umiddelbart er det ikke noger der hverken skal bruges komponenter til eller noget - hvis bare der er adgang til FSO (FileScriptingObject) på serveren er det piece of cake;
Dim FolderItems set FolderItems = Server.CreateObject("Scripting.FileSystemObject") If FolderItems.FolderExists(Server.MapPath("Mappenavn")) = False Then Set mappe = FolderItems.Billedealbum(Server.MapPath("Mappenavn")) Else If FolderItems.FolderExists(Server.MapPath("Mappenavn")) = True then Response.Write "<b>Mappen findes</b>" End if end if set FolderItems = Nothing
FSO...??? hvad er det, er det noget min udbyder skal understøde...og hvad med div. firewalls, for det er nemmelig et problem. Det er grunden til at det skal være ASP/Scripts
Har være inde og kikke på siden...men jeg forstår ikke en dyt ( jeg er ren nybegynder), Men hvis du kunne være lidt behjælpsom ville jeg være meget taknemlig.
FSO er et object knyttet til ASP og som du kan bruge til at kigge på serveren med - uanset om du skal kigge på filer eller mapper. Du kan fx oprette, rette, slette og flytte mapper og filer samt redigere, skrive og læse indhold i filer.
Der skal ikke åbnes for nogle firewalls eller noget - det kører jo som en ASP-fil på serveren hvor mappen også skal oprettes.
sti = "d:\web\domæne\www" mappenavn = Upload.Form("mappenavn") newfolderpath = sti & "\" & mappenavn
set filesys=CreateObject("Scripting.FileSystemObject") If Not filesys.FolderExists(newfolderpath) Then Set newfolder = filesys.CreateFolder(newfolderpath) else response.write "Mappe findes i forvejen<BR><a href='opret.asp'>Prøv igen</a>" response.End End If
Set Upload = Server.CreateObject("Persits.Upload") Count = Upload.Save(newfolderpath) Response.Write Count & " fil uploaded til "& newfolderpath &""
sti = "d:\web\domæne\www" mappenavn = request.Form("mappenavn") newfolderpath = sti & "\" & mappenavn
set filesys=CreateObject("Scripting.FileSystemObject") If Not filesys.FolderExists(newfolderpath) Then Set newfolder = filesys.CreateFolder(newfolderpath) else response.write "Mappe findes i forvejen<BR><a href='opret.asp'>Prøv igen</a>" response.End End If
Set Upload = Server.CreateObject("Perssits.Upload") Count = Upload.Save(newfolderpath) Response.Write Count & " fil uploaded til "& newfolderpath &""
sti = "d:\web\domæne\www" mappenavn = request.Form("mappenavn") newfolderpath = sti & "\" & mappenavn
set filesys = Server.CreateObject("Scripting.FileSystemObject") If Not filesys.FolderExists(newfolderpath) = true Then Set newfolder = filesys.CreateFolder(newfolderpath) else response.write "Mappe findes i forvejen<BR><a href='opret.asp'>Prøv igen</a>" response.End End If
Set Upload = Server.CreateObject("Perssits.Upload") Count = Upload.Save(newfolderpath) Response.Write Count & " fil uploaded til "& newfolderpath &""
<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%> <html> <head> <title>Opret</title> </head> <body> <%if request.QueryString("mode") = "" then%> <form name="form" method="post" <%if not request.QueryString("mappenavn") = "" then%>enctype="multipart/form-data"<%end if%> action="opret.asp?mode=<%if not request.QueryString("mappenavn") = "" then%>opret<%else%>tzag<%end if%>&mappenavn=<%=request.QueryString("mappenavn")%>"> <table width="100%" border="0" cellspacing="0" cellpadding="2"> <tr> <td width="11%">Mappe navn: </td> <td width="89%"> <%if request.QueryString("mappenavn") = "" then%><input type="text" name="mappenavn"><%end if%> </td> </tr> <tr> <td>Fil:</td> <td><%if not request.QueryString("mappenavn") = "" then%><INPUT TYPE="FILE" NAME="FILE1" SIZE="50"><%end if%></td> </tr> <tr> <td> </td> <td><input type="submit" name="Submit" value="Opret"></td> </tr> </table> </form> <% end if if request.QueryString("mode") = "tzag" then response.Redirect("opret.asp?mappenavn="&request.Form("mappenavn")&"") end if
if request.QueryString("mode") = "opret" then
Set Upload = Server.CreateObject("Persits.Upload")
sti = "d:\web\domæne\www" newfolderpath = sti & "\" & request.QueryString("mappenavn")
set filesys = Server.CreateObject("Scripting.FileSystemObject") If not filesys.FolderExists(newfolderpath) Then Set newfolder = filesys.CreateFolder(newfolderpath) else response.Write(newfolderpath) response.write "Mappen findes i forvejen<BR><a href='opret.asp'>Prøv igen</a>" response.End End If set filesys = nothing
hvis man kan uploade fra 1 til 5 adgangen vil det være fint,men man skal kunne gøre det flere gange til samme mappe, så det samlet antal filer kan være 20 til 25 filer
Hejhooo
Ps. jeg prøver lige om keysersoze teori holder, for så bruger den, da jeg så kan bruge den i alle min sub folders
hvis der kommer en fejlmeddelelse så fortæl hvilken - hvis ikke der gør, så er det fordi der mangler en stiangivelse i forhold til hvor i mappestrukturen du er fx
Set Upload = Server.CreateObject("Persits.Upload")
sti = "d:\web\domæne\www" newfolderpath = sti & "\" & request.QueryString("mappenavn")
set filesys = Server.CreateObject("Scripting.FileSystemObject") If not filesys.FolderExists(newfolderpath) Then Set newfolder = filesys.CreateFolder(newfolderpath) else response.Write(newfolderpath) response.write "Mappen findes i forvejen<BR><a href='opret.asp'>Prøv igen</a>" response.End End If set filesys = nothing
<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%> <html> <head> <title>Opret</title> </head> <body> <% if request.QueryString("mode") = "login" then fejl = "" If Request("Submit")<>"" Then If Request("navn") = "DIT_BRUGERNAVN" and _ Request("password")="DIN_ADGANGSKODE" Then Session("Valid") = Request("navn") Response.redirect "opret.asp"
Else fejl = "Forkert brugernavn eller adgangskode. Prøv igen!" End If End If end if
Set Upload = Server.CreateObject("Persits.Upload")
sti = "d:\web\domæne\www" newfolderpath = sti & "\" & request.QueryString("mappenavn")
set filesys = Server.CreateObject("Scripting.FileSystemObject") If not filesys.FolderExists(newfolderpath) Then Set newfolder = filesys.CreateFolder(newfolderpath) else response.Write(newfolderpath) response.write "Mappen findes i forvejen<BR><a href='opret.asp'>Prøv igen</a>" response.End End If set filesys = nothing
if request.QueryString("mode") = "opretflerenu" then Set Upload = Server.CreateObject("Persits.Upload")
sti = "d:\web\domæne\www" newfolderpath = sti & "\" & request.QueryString("mappenavn")
Count = Upload.Save(newfolderpath)
Response.Write Count & " fil(er) uploaded til "& newfolderpath &"<BR><a href='opret.asp?mode=opretflere&mappenavn="&request.QueryString("mappenavn")&"'>Tilføj flere</a>" end if
Takker for din STORE indsats, det har været alle pointene værd! Har lige et lille tillægs spørgsmål: Kan man lægge opret.asp i fx. en administrator mappe og så indlæse filer til de forskellige "sub folders" ved at skulle skrive den sidste del af "sti = "d:\web\domæne\www" altså www, og på den måde definere i hvilke folder filerne skal uploads til. For det er kun den sidste del som er forskellig.
Hejhooo
PS husk at skrive det som et svar så jeg kan give dig pointene...har du evt. en email så jeg kan bruge din hjælp igen...selvfølgelig via eksperten, med point
Jeg kan ikke få scriptet til at virke, jeg får ingen fejl, men der oprettes heller ikke nogen mapper?
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.