Synes jeg har prøvet dette. Variablen "mappe" indeholder ikke filnavnet.
Her er koden som sletter filen:
mappe = Request.querystring("mappe") 'response.Write(mappe) dim action action = request("action") dim path path = ("/image/upload/" & mappe & "/")
errtxt = request("errtxt")
if action ="delete" then deletefile = Request.querystring("deletefile") Response.Write( path & deletefile )
Set fs = Server.CreateObject("Scripting.FileSystemObject") fs.DeleteFile(path & deletefile) response.redirect("filliste.asp?etx=Fil slettet!")
action = "" end if ---------------------------- Og her er er linket der skal slette: ---------------------------- sletfil.asp?mappe=galleri&action=delete&deletefile=<%=objFile.Name%>
----------------------------
Tror efterhånden jeg bliver gammel af og kigge på den kode. Jeg har vist efterhånden kigget det igennem 17893 gange, og kan stadig ikke se noget galt.. ;)
Så skulle den gerne skrive den interne sti. Hvis den skriver noget med "http://..." eller andet online-sti, så skal du bruge Server.Mappath(path & deletefile)
Nu har jeg prøvet med det her: ------------------------------------- if action ="delete" then deletefile = Request.querystring("deletefile") Response.Write( path & deletefile )
Set fs = Server.CreateObject("Scripting.FileSystemObject") 'fs.DeleteFile(path & deletefile) If fs.FileExists(Server.Mappath(deletefile)) = true Then fs.DeleteFile(path & deletefile) response.write ("Skulle slette '" & path & deletefile & "'.") 'response.redirect("filliste.asp?etx=Fil slettet!")
action = "" end if ------------------------------
Der kommer ingen fejl nu, men filen bliver desværre heller ikke slettet. :)
Selve URL ti lsletning ser sådan her ud: sletfil.asp?mappe=galleri&action=delete&deletefile=the_king.jpg
-------------------------------- Jeg er helt på bar bund.. :(
@ michael, den hvide skål er en blanding af de 20 bedste Medoc vine. Mærkelig, men smager nok ikke så ringe. ;))) Omend det ser uapetitligt ud :)
Jo, det kan være en god ide, at spørge dem, om de har specielle opsætninger, bl.a. mht file-access / fil-adgang / FileSystemObject.
Indtil videre, er det nok en god ide, at gå tilbage til linien
fs.DeleteFile(path & deletefile)
så du ved, hvordan det kommer til at virke igen (= når den ikke længere melder fejl)..
Hvis du vil undgå at hele siden stopper/crasher, gør det her:
Linie 1: <% Linie 2: Option Explicit Linie 3: On Error Resume Next Linie X: dine kode-linier her
Sidst i filen:
if err.number <> 0 then ' da fejlkoden IKKE er 0 (som betyder "alt er ok"), må der være opstået en fejl: response.write "Der opstod en fejl:<br>" & err.number & " - " & err.description end if
Forklaringer: Option Explicit - Dette tvinger programmøren (dig) til at definere alle dine variabeler Dvs: dim action, deletefile, osv.. På den måde kan den fortælle dig, når du har lavet stavefejl.
On Error Resume Next - Dette fortæller fortolkeren (der afvikler ASP koden) at den skal den skal fortsætte med koden, selvom der opstår fejl. Man fanger fejlkoden og fejlbeskrivelsen sådan: fejlkode: err.number fejlbeskrivelse: err.description
Prøv lige at rette, jeg syntes at kunne huske at nogle FSO funktionerne kræver fysisk sti:
fs.DeleteFile(path & deletefile)
Til:
fs.DeleteFile(Server.Mappath(path & deletefile))
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.