Avatar billede lightbrain Nybegynder
30. oktober 2002 - 19:39 Der er 8 kommentarer og
3 løsninger

Check om filen eksisterer

Hej

Jeg er intesseret i at få et script, som kan checke om stien, som er blevet indskrevet af brugeren i et tekstfelt (submit), henviser til en fil, som er uploadet ved hjælp af et andet script, som i denne sammenhæng er irrelevant. Hvis filer allerede eksisterer skal scriptet udskrive, at dette er tilfældet.

(Jeg er ikke interesset i et upload-script).
Avatar billede oasen Nybegynder
30. oktober 2002 - 21:03 #1
Set FSO = CreateObject("Scripting.FileSystemObject")
If FSO.FileExists("d:/ftp/mysite.asp") Then
  'blabla
Avatar billede loss Nybegynder
30. oktober 2002 - 22:08 #2
<%
dim fs
set fs=Server.CreateObject("Scripting.FileSystemObject")
if fs.FileExists("c:\asp\introduction.asp")=true then
  response.write("File c:\asp\introduction.asp exists!")
else
  response.write("File c:\asp\introduction.asp does not exist!")
end if
set fs=nothing
%>
Avatar billede loss Nybegynder
30. oktober 2002 - 22:10 #3
<%
DIM URL
URL = REQUEST.FORM("URL")

dim fs
set fs=Server.CreateObject("Scripting.FileSystemObject")
if fs.FileExists("c:\asp\"&URL&"")=true then
  response.write("File c:\asp\"&URL&"exists!")
else
  response.write("File c:\asp\"&URL&" does not exist!")
end if
set fs=nothing
%>
Avatar billede oasen Nybegynder
31. oktober 2002 - 13:13 #4
loss ---> Det er jo præcis det samme ;)
Avatar billede lightbrain Nybegynder
31. oktober 2002 - 20:59 #5
Tak for det indsendte, men I bliver lige nødt til at hjælpe mig ;)

Hvordan får jeg følgende til at virke - den stopper før den udskriver "2".

strNAVN er lig med f.eks. /grafik/artikler/billede1.jpg
_________________________________________

Function ifFileExists (strNAVN)

    Set FSO = CreateObject("Scripting.FileSystemObject")
    response.write "<br>1"
    strNAVN2 = Server.MapPath(strNAVN)
    response.write "<br>2"

        If FSO.FileExists(strNAVN2) Then
        ifFileExists = true
    else
        Response.Write "<script>alert('Stien til den indskrevne fil findes ikke.');</script>"
          Response.Write "<script>java script:history.back();</script>"
          ifFileExists = false
    end if
   
end function
Avatar billede oasen Nybegynder
01. november 2002 - 10:12 #6
Du kan ikke udskrive direkte i en funktion. Du kan vælge at lade funktionen returnere true eller false afhængig af, om filen eksisterer. Eller du kan kan lade den returnere et stykke tekst.

Function ifFileExists (strNAVN)

    Set FSO = CreateObject("Scripting.FileSystemObject")
    ifFileExists = "<br>1"
    strNAVN2 = Server.MapPath(strNAVN)
    ifFileExists = ifFileExists & "<br>2"

        If FSO.FileExists(strNAVN2) Then
        ifFileExists = ifFileExists & "Filen eksisterer!"
    else
        ifFileExists = ifFileExists & "<script>alert('Stien til den indskrevne fil findes ikke.');</script><a href='#' onClick='java script:history.go(-1);'>Tilbage</a>"
    end if
   
end function
Avatar billede oasen Nybegynder
01. november 2002 - 10:17 #7
Og du kan få returneret true eller false som sagt:

Function ifFileExists (strNAVN)

    Set FSO = CreateObject("Scripting.FileSystemObject")
    strNAVN2 = Server.MapPath(strNAVN)

        If FSO.FileExists(strNAVN2) Then
        ifFileExists = true
    else
        ifFileExists = false
    end if
   
end function


Og så kan du tjekke, om filen eksisterer:

If ifFileExists("min_fil.jpg") Then
  Response.Write "Filen eksisterer!"
Else
  '...
Avatar billede loss Nybegynder
01. november 2002 - 12:25 #8
oasen--- sorry.. jeg var bare lidt langsom til at finde koden forleden :)...
Avatar billede lightbrain Nybegynder
01. november 2002 - 19:57 #9
Hej igen

Jeg kan kun på det til at virke halvt.

Hvis jeg submitter et link til en allerede eksisterende fil (Upload.Form("link12")) så finder ifFileExists rigtigt nok ud af, om filen eksisterer, men jeg derimod submitter et link til en fil, som ønskes uploadet (Upload.Form("link1")) er ifFileExists helt ukritisk, og opdager f.eks. ikke filen aldrig er blevet, og at filen derfor ikke findes. Hvorfor??

________________________________________

if Request.ServerVariables("REQUEST_METHOD") = "POST" then

    Set Upload = Server.CreateObject("Persits.Upload.1")
    strImageDir="/grafik/artikler/"
    Upload.SetMaxSize 10000, True
    Upload.OverwriteFiles = false

    On Error Resume Next
    Count = Upload.Save(Server.MapPath(strImageDir))   

    For Each File in Upload.Files
        strNAVN = strImageDir & File.ExtractFileName
    Next
   
    if not Upload.Form("link2") = "" then
        strNAVN = Upload.Form("link2")
    end if
   
    if ifFileExists (strNAVN) then
        if not Upload.Form("link1") = "" then
            If Err.Number = 8 Then
                  Response.Write "<script>alert('Billedet må ikke overstige en størrelse af 10 KB. En løsning herpå er at komprimere billedet eller at vælge et andet.')</script>"
                  Response.Write "<script>java script:history.back();</script>"
            Else
                If Err <> 0 Then
                      Response.Write "<script>alert('Der opstod en teknisk fejl: ' + Err.Description)</script>"
                      Response.Write "<script>java script:history.back();</script>"
                Else                
                    If fileLengthCheck(strNAVN) then
                        insertArticleInDatabase (strNAVN)
                    Else
                        fileDelete(strNAVN)
                          Response.Write "<script>java script:history.back();</script>"
                      End if
                  End if
              End if
        else
            if not Upload.Form("link2") = "" then
                insertArticleInDatabase (strNAVN)
            end if
        End if
    end if
   
    'sendBack("Der er ikke indtastet noget link - prøv igen.")

end if
   
Function ifFileExists (strNAVN)

    Set FSO = CreateObject("Scripting.FileSystemObject")
    strNAVN2 = Server.MapPath(strNAVN)
    Response.Write "<script>alert('"& strNAVN2 & "');</script>"
   
    If FSO.FileExists(strNAVN2) Then       
        ifFileExists = true
    else
        Response.Write "<script>alert('Stien til den indskrevne fil findes ikke.');</script>"
        Response.Write "<script>java script:history.back();</script>"
        ifFileExists = false
    end if
   
end function
Avatar billede lightbrain Nybegynder
02. november 2002 - 08:50 #10
Jeg skulle gerne bruge et hurtigt svar, så jeg lukker nu dette indlæg og forsøger igen.
Avatar billede oasen Nybegynder
04. november 2002 - 11:02 #11
Hmm...
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester