/ Forside / Teknologi / Udvikling / ASP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
Slette filer
Fra : Gert Simonsen


Dato : 28-06-04 11:03

Hej

Jeg bruger "PureASP upload" til at uploade filer.
Mit spørgsmål er så, findes der noget ASP-kode der kan slette filer fra
serveren?
Jeg kan jo sagtens slette de informationer som "PureASP upload" skriver i
databasen, men filen bliver ikke slettet.

Hilsen
Gert Simonsen



 
 
Migger (28-06-2004)
Kommentar
Fra : Migger


Dato : 28-06-04 15:06

> Mit spørgsmål er så, findes der noget ASP-kode der kan slette filer fra
> serveren?
Du kan bruge denne kode:
<%
Dim fso
Set fso = CreateObject("Scripting.FileSystemObject")

filespec = Server.MapPath("filnavn.txt") & "/" & request("filnavn.txt")

fso.DeleteFile(filespec)
%>

--
Mvh.
Migger

Home: www.migger.dk
Mail: usenet@migger.dk



Gert Simonsen (29-06-2004)
Kommentar
Fra : Gert Simonsen


Dato : 29-06-04 08:46

> Du kan bruge denne kode:
> <%
> Dim fso
> Set fso = CreateObject("Scripting.FileSystemObject")
>
> filespec = Server.MapPath("filnavn.txt") & "/" & request("filnavn.txt")
>
> fso.DeleteFile(filespec)
> %>

Hmmm.....den skal jeg vist have skåret ud i pap.
Jeg har en mappe (upload) hvor filerne ligger, hvordan finder koden ud af
hvilken fil den skal slette?

Hilsen Gert (som ikke er særlig stiv i ASP (endnu - desværre))



Migger (29-06-2004)
Kommentar
Fra : Migger


Dato : 29-06-04 15:05

> Hmmm.....den skal jeg vist have skåret ud i pap.
> Jeg har en mappe (upload) hvor filerne ligger, hvordan finder koden ud af
> hvilken fil den skal slette?

Det gør du ved at ændre "filnavn.txt" til stien og filnavnet
eks.:
filespec = Server.MapPath("upload/fil.txt") & "/" &
request("upload/fil.txt")

Nu bliver filen "fil.txt" i mappen "upload" slettet hvis den er der (ellers
vises en fejlmeddelelse)

Du skal angive mappen ud fra den sti som filen ligger i. Altså: Hvis du står
i www.ditdomæne.dk/side og filen ligger i www.ditdomæne.dk/side/upload
skal den angives "upload/fil.txt" og ikke "side/upload/fil.txt"

Skal i øvrigt lige nævne at det ikke virker under subdomainer!

Håber det var pap nok ellers må du skrive igen
--
Mvh.
Migger

Home: www.migger.dk
Mail: usenet@migger.dk



Gert Simonsen (29-06-2004)
Kommentar
Fra : Gert Simonsen


Dato : 29-06-04 17:42

> Det gør du ved at ændre "filnavn.txt" til stien og filnavnet
> eks.:
> filespec = Server.MapPath("upload/fil.txt") & "/" &
> request("upload/fil.txt")
>
> Nu bliver filen "fil.txt" i mappen "upload" slettet hvis den er der
(ellers
> vises en fejlmeddelelse)

Nå ja....selvfølgelig...!
Er der så en måde hvor man kan slette hele mappens indhold?
Men endelig ikke selve mappen...!

Hilsen Gert



Migger (29-06-2004)
Kommentar
Fra : Migger


Dato : 29-06-04 20:46

> Er der så en måde hvor man kan slette hele mappens indhold?
> Men endelig ikke selve mappen...!

Ja, jeg har denne kode du kan bruge, har endda gjort det nemt for dig, du
skal bare ændre variablen dir
eks. dir = "dinmappe"

<%
dir = "test"

Dim fso
Set filesys = CreateObject("Scripting.FileSystemObject")
Set demofile = filesys.GetFolder(server.MapPath(dir))
Set filecoll = demofile.Files

For Each fil in filecoll
Set fso = CreateObject("Scripting.FileSystemObject")
filespec = Server.MapPath(dir & "/" & fil.name) & "/" & request(dir & "/"
& fil.name)
fso.DeleteFile(filespec)
Next
%>

Denne kode sletter alle filer i mappen, men ikke undermapper. (hvis du skal
bruge det, så sig til)
--
Mvh.
Migger

Home: www.migger.dk
Mail: usenet@migger.dk



Gert Simonsen (02-07-2004)
Kommentar
Fra : Gert Simonsen


Dato : 02-07-04 22:51


> <%
> dir = "test"
>
> Dim fso
> Set filesys = CreateObject("Scripting.FileSystemObject")
> Set demofile = filesys.GetFolder(server.MapPath(dir))
> Set filecoll = demofile.Files
>
> For Each fil in filecoll
> Set fso = CreateObject("Scripting.FileSystemObject")
> filespec = Server.MapPath(dir & "/" & fil.name) & "/" & request(dir &
"/"
> & fil.name)
> fso.DeleteFile(filespec)
> Next
> %>
>
Hej Migger

Jeg kan desværre ikke få det til at virke:
Microsoft VBScript runtime error '800a0035'
File not found

/demo/slet.asp, line 13

Linje 13= fso.DeleteFile(filespec)


Hilsen Gert Simonsen



Gert Simonsen (09-07-2004)
Kommentar
Fra : Gert Simonsen


Dato : 09-07-04 10:50

> Jeg kan desværre ikke få det til at virke:
> Microsoft VBScript runtime error '800a0035'
> File not found
>
> /demo/slet.asp, line 13
>
> Linje 13= fso.DeleteFile(filespec)
>
Er der ingen der kan hjælpe mig?
Er det måske manglende rettigheder jeg mangler i mappen?
Selv om den skriver "File not found" så er jeg 100% sikker på at filen
ligger der....!

Hilsen Gert Simonsen



Migger (09-07-2004)
Kommentar
Fra : Migger


Dato : 09-07-04 14:36

> Er der ingen der kan hjælpe mig?
Jeg vil gerne prøve

Jeg vil først lige sige, at der er en fejl i det script jeg sendte dig:
Skift linien:
filespec = Server.MapPath(dir & "/" & fil.name) & "/" & request(dir &
"/" & fil.name)
med denne:
filespec = Server.MapPath(dir) & "/" & fil.name
Den vil ikke slette filnavne med ø i den gamle.

Angående din fejl, så må der være noget du har lavet forkert. Scriptet
finder selv ud af om der er en fil. Hvis der ikke er nogle filer så
prøver den heller ikke at slette noget!

Prøv at sende hele din kode med i et indlæg og skriv også meget gerne et
link til den side du arbejder på. Så vil jeg prøve at kigge på det.


--
Mvh.
Migger

Home: www.migger.dk
Mail: usenet@migger.dk

Gert Simonsen (10-07-2004)
Kommentar
Fra : Gert Simonsen


Dato : 10-07-04 10:30


> Jeg vil først lige sige, at der er en fejl i det script jeg sendte dig:
> Skift linien:
> filespec = Server.MapPath(dir & "/" & fil.name) & "/" & request(dir &
> "/" & fil.name)
> med denne:
> filespec = Server.MapPath(dir) & "/" & fil.name
OK.

> Prøv at sende hele din kode med i et indlæg og skriv også meget gerne et
> link til den side du arbejder på. Så vil jeg prøve at kigge på det.
Jeg har fået kæmpet mig igennem en side med elektronisk logbog, debatforum,
kalender, intern mailfunktion, og en upload funktion.
(jeg syntes selv den er en smule genial jeg har lavet en "demoversion"
www.logporten.dk/demo her er uploadfunktionen slået fra...

Det er så i uploadfunktionen jeg gerne vil have lidt hjælp. Her kan eleverne
aflevere deres opgaver, læreren kan så rette opgaverne og aflevere dem
tilbage. Opgaven bliver placeret i mappen "upload" og når de bliver
afleveret er det i mappen "afleveret"
Men når så året er omme, skulle det jo gerne være sådan at læreren kan
slette alle opgaverne og starte på en frisk. Jeg kan jo sagtens selv slette
dem via FP-extention, men det bedste er jo hvis læreren selv sletter dem.

Jeg har lavet disse 2 sider:
"slette_opgaver.asp" med koden:
[<a href="admin_slet_alle_opgaver.asp" onClick="return confirm('Vil du
slette alle opgaver?');">Slet alle opgaver</a>]

"admin_slet_alle_opgaver.asp" med koden:
<%
dir = "upload"

Dim fso
Set filesys = CreateObject("Scripting.FileSystemObject")
Set demofile = filesys.GetFolder(server.MapPath(dir))
Set filecoll = demofile.Files

For Each fil in filecoll
Set fso = CreateObject("Scripting.FileSystemObject")
filespec = Server.MapPath(dir) & "/" & fil.name
fso.DeleteFile(filespec)
Next
%>

Nu får jeg så fejlen:

Microsoft VBScript runtime error '800a0046'

Permission denied

/test/admin_slet_alle_opgaver.asp, line 15

Det må vel betyde manglende rettigheder, eller hva'?

Håber du kan bruge denne lange smøre til noget.

Hilsen Gert Simonsen



Migger (11-07-2004)
Kommentar
Fra : Migger


Dato : 11-07-04 14:57


> Permission denied

Ja umiddelbart kunne det jo godt se ud som om at du har et problem med
nogle attributter. Men jeg har prøvet at fremkalde fejlen på mit eget
webhotel og det kan jeg simpelthen ikke. Så jeg ved faktisk ikke hvad
der sker.

Prøv at check dine attributter via en ftp-client og se hvad det
fortæller dig.

--
Mvh.
Migger

Home: www.migger.dk
Mail: usenet@migger.dk

Søg
Reklame
Statistik
Spørgsmål : 177560
Tips : 31968
Nyheder : 719565
Indlæg : 6408941
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste