Avatar billede nythjem Nybegynder
10. september 2004 - 16:51 Der er 6 kommentarer og
1 løsning

Undlade at tage visse filer med..

Hej Alle!

Jeg har et udemærket script, der lister alle billeder i en mappe. Imidlertid laver serveren en fil automatisk, der hedder Thumbs.db, og WS_Ftp en log fil.

Dem vil jeg ikke have med, men ellers alt andet.. Hvordan gør jeg?

Filerne hedder helt præcist

WS_FTP.LOG
Thumbs.db

### SCRIPT ###

<%
dim image_directory, image_height, image_width, Images_pr_Page, Images_Horizontal
image_directory = "..\..\..\billeder"
image_height = "125"
image_width = "125"
Images_pr_Page = "9"
Images_Horizontal = "3"

dim count_image, image, Image_Array
Set directory=server.createobject("scripting.filesystemobject")
Set allfiles=directory.getfolder(server.mappath(image_directory))

For each image in allfiles.files
  Image_Array = Image_Array + image.Name & ","

  count_image = count_image +1
Next

dim Current_Page, Total_Pages, Total_Images, Page_Name

Page_Name = request.servervariables("script_name")
Total_Images = count_image

Current_Page  = request.querystring("page")
If Current_Page = "" or Current_Page = "0" then
    Current_Page = "1"
end if

Total_Pages = (Total_Images/Images_pr_Page)

if Total_Pages > int(Total_Pages) then
    Total_Pages = int(Total_Pages) + 1
end if

Image_Array = split(Image_Array,",")

dim First_Image, Last_Image
First_Image = ((Current_Page-1)*(Images_pr_Page))+1
If First_Image =  "0" then
    First_Image = "1"
end if
Last_Image = (Total_Images-First_Image)

if cint(Last_Image) > cint(Images_pr_Page) then
    Last_Image = round(First_Image-1) + round(Images_pr_Page)
else
    Last_Image = (First_Image + Last_Image)
End if
response.Write "<head><link REL=""stylesheet"" TYPE=""text/css"" HREF=""/admin/css/styles_ie.css""><link REL=""stylesheet"" TYPE=""text/css"" HREF=""/admin/css/style.css""><script type=""text/javascript"">function justerbill(obj) {w = obj.offsetWidth;h = obj.offsetHeight;r = w/h;if (w > 125 && w > h){obj.style.width = 125;obj.style.height = 125 / r;}else if (h > 125) {obj.style.height = 125;obj.style.width = 125 * r;}}</script></head>"
response.write "<table align=""center"" style=""width:100%;"">" & vbCrLf

    dim Count_Image_Prints, td_width
    Count_Image_Prints = 0

    td_width = int(100 / Images_Horizontal)

    dim I
    For I = (First_Image-1) to (Last_Image-1)
        Count_Image_Prints = Count_Image_Prints + 1

        If int(Count_Image_Prints) = int("1") then
            response.write "<tr>" & vbCrLf
        end if

        response.write "<td style=""width:125;height:125;text-align:center;align:center;"" align=""center"" valign=""middle"" class=""categoryproductOFF"" onmouseover=""this.className='categoryproductON'"" onmouseout=""this.className='categoryproductOFF'"" onclick=""document.location.href='#'"">" &_
            "<a href=""session.asp?navn="& Image_Array(I) &""">" &_
                "<center><img src="""& image_directory &"/"& Image_Array(I) &""" border=""0"" align=""center"" onload=""justerbill(this);"" /></center>" &_
            "</a><font class=""bread"">" & left(Image_Array(I),20) & "</font>" &_
        "</td>" & vbCrLf

        If int(Count_Image_Prints) = int(Images_Horizontal) then
            response.write "</tr>" & vbCrLf
            Count_Image_Prints = 0
        end if
    Next

    response.write "</tr>" & vbCrLf &_
    "<tr>" & vbCrLf &_
        "<td colspan="""& Images_Horizontal &""" style=""width:100%;text-align:center;"">" & vbCrLf

        For I = 1 to Total_Pages
            If NOT Cint(Current_Page) = Cint(I) then
                response.write " <a href="""& Page_Name &"?page="& I &""" class=""href"">" &_
                    I &_
                "</a> "
            else
                response.write "<font class=""bread""> <u>"& I &"</u> </font>"
            end if
        Next

        response.write "</td>" & vbCrLf &_
    "</tr>" & vbCrLf &_
"</table>" & vbCrLf
%>
Avatar billede eagleeye Praktikant
10. september 2004 - 17:04 #1
Du kan bygge et filter ind dette så den kun tager billede filer:

For each image in allfiles.files
  Image_Array = Image_Array + image.Name & ","

  count_image = count_image +1
Next


Sådan her:

For each image in allfiles.files
  if instr(1,"bmp,gif,jpg,png,jpeg,tif",lcase(directory.GetExtensionName(image.name)))>0 then

    Image_Array = Image_Array + image.Name & ","

    count_image = count_image +1
  End if
Next
Avatar billede nythjem Nybegynder
10. september 2004 - 17:17 #2
Perfekt E!

Lige i øjet igen igen :)

,,,,,,,,,,,,,,,,,,,,,,,

Jeg sad også lige og kiggede på den her, men hvor gør man det her?


<%    @EnableSessionState    = False %>

<%    Response.Expires      = 0 %>

<%    Server.ScriptTimeout  = 720 %>

<%
Response.Buffer = True

' Connection til database
Set Con = Server.CreateObject("ADODB.Connection")
DBPath = "DBQ=" & server.mappath("../../../database/afront.mdb")
Con.Open "DRIVER={Microsoft Access Driver (*.mdb)}; " & DBPath

Sql = "SELECT * FROM avanceretopsaetning"
Set Record =  Con.Execute(Sql)
PictureLink = Record("maildomain")
%>

<% If Request.Querystring("site") = "FALSE" Then %>

<% Else %>

<% If Request.Querystring("slet") = "slet" Then %>

<%
dim filename
dim site

'hent site fra querystring
site = request.querystring("site")

'kald funktionen
filename = GetFilenameFromUrl(site)

function GetFilenameFromUrl(url)

  'tæller
  dim slashPos
  'arbejdsvariabel
  dim tempUrl
  'sæt arbejdsvariabel lig med den indpasserede url
  tempUrl = url
  'loop
  do
    'find pos af første /
    slashPos = instr(tempUrl,"/")   
    if slashPos <> 0 then
      'klip strengen
      tempUrl = Mid(tempUrl, slashPos + 1)
    else
      exit do
    end if
  loop
  'retur
  GetFilenameFromUrl = tempUrl

end function

%>

<%
dim fs,f
set fs=Server.CreateObject("Scripting.FileSystemObject")
set f=fs.GetFile(server.mappath("\billeder\" & filename & ""))
f.Delete
set f=nothing
set fs=nothing
%>

<% End If %>
<% End If %>

<%
    Dim ScriptX
    Dim UPLOAD_PATH
        UPLOAD_PATH    = Server.MapPath("../../billeder")

    Dim g_oFso, g_oFolder, g_oFile
        Set g_oFso    = Server.CreateObject("Scripting.FileSystemObject")
        Set g_oFolder    = g_oFso.getFolder(UPLOAD_PATH)

    If (Request.ServerVariables("REQUEST_METHOD") = "POST") Then
        Dim g_oUpload
            Set g_oUpload    = get_upload_files()

        Dim fpos, fcontent
            fcontent    = g_oUpload("upload").Item("content")
        Set g_oFile    = g_oFso.CreateTextFile(UPLOAD_PATH & "\" & extract_filename(g_oUpload("upload").Item("filename")))
        For fpos = 1 to LenB(fcontent)
            g_oFile.Write chr(AscB(MidB(fcontent, fpos, 1)))
        Next
        g_oFile.Close: Set g_oFile    = Nothing

        Response.Redirect Request.ServerVariables("SCRIPT_NAME") & "?upload=on"

    End If

if request.querystring("upload") = "on" then
scriptx = "alert('Upload er udført!');"
end if


    Response.Write "<html><title>UPLOAD AF FILER</title><head></head><body topmargin=""0"" leftmargin=""0"" style=""background-color:transparent;""><script> " & scriptX & " </script><table border=""0"" cellspacing=""0"" cellpadding=""0"" width=""315""><tr><td><form name=""frmUpload"" method=""post"" enctype=""multipart/form-data"" action=""" & Request.ServerVariables("SCRIPT_NAME") & """> <input type=""file"" name=""upload"" style=""font-family: Verdana, Arial, Helvetica; font-size:10px;""> <input type=""submit"" value=""Upload"" style=""font-family: Verdana, Arial, Helvetica; font-size:10px;""></form></td><tr>"
    Response.Write "<tr><td><img src=""../gfx/1x1.gif"" width=""5"" height=""60""></td><tr><tr><td><form name=""myform"" action=""" & Request.ServerVariables("SCRIPT_NAME") & """><input type=""hidden"" name=""slet"" value=""slet""><select MULTIPLE size=""5"" style=""width:315;height:275; font-family:Verdana, Arial, Helvetica; font-size:10px"" name=""site"" onchange=""if(this.selectedIndex>0)parent.passText(this.value)""><option value=""FALSE"" selected>+++++ Vælg fil i boksen herunder +++++</option>"
    For Each g_oFile In g_oFolder.files
    Response.Write "<option value=""http://www." & PictureLink & "/billeder/" & g_oFile.name & """>" & g_oFile.name & "</option>"
    Next
    Response.Write "</select><br><a href=""java script:document.myform.submit();""onClick=""return window.confirm('Er du sikker på du vil slette denne fil?');""><img src=""/admin/gfx/deletefso.gif"" border=""0""></a></form></td><tr></table></body></html>"

%>

<%
Con.Close
Set Con = Nothing
%>

<%
    Function get_upload_files()
        Dim    upload_object, request_binaries
        Dim position_start, position_end
        Dim boundary, boundary_pos

        Set upload_object    = Server.CreateObject("Scripting.Dictionary")
        request_binaries    = Request.BinaryRead(Request.TotalBytes)
        position_start        = 1
        position_end        = InstrB(position_start, request_binaries, get_byte_string(chr(13)))
        boundary            = MidB(request_binaries, position_start, (position_end - position_start))
        boundary_pos        = InstrB(1, request_binaries, boundary)

        Do Until (boundary_pos = InstrB(request_binaries, boundary & get_byte_string("--")))
            If Not(Response.IsClientConnected) Then Response.End

            Dim name, pos_file

            position_start    = (InstrB(InstrB(boundary_pos, request_binaries, get_byte_string("Content-Disposition")), request_binaries, get_byte_string("name=")) + 6)
            position_end    = InstrB(position_start, request_binaries, get_byte_string(chr(34)))

            name            = get_string(MidB(request_binaries, position_start, (position_end - position_start)))
            pos_file        = InstrB(boundary_pos, request_binaries, get_byte_string("filename="))

            If  ((pos_file <> 0) AND (pos_file < InstrB(position_end, request_binaries, boundary))) Then
                upload_object.Add name, Server.CreateObject("Scripting.Dictionary")

                position_start    = (pos_file + 10)
                position_end    = InstrB(position_start, request_binaries, get_byte_string(chr(34)))
                upload_object.item(name).Add "filename", get_string(MidB(request_binaries, position_start, (position_end - position_start)))

                position_start    = (InstrB(position_end, request_binaries, get_byte_string("Content-Type:")) + 14)
                position_end    = InstrB(position_start, request_binaries, get_byte_string(chr(13)))
                upload_object.item(name).Add "content-type", get_string(MidB(request_binaries, position_start, (position_end - position_start)))

                position_start    = (position_end + 4)
                position_end    = InstrB(position_start, request_binaries, boundary) - 2
                upload_object.item(name).Add "size", ((position_end - position_start))
                upload_object.item(name).Add "content", MidB(request_binaries, position_start, (position_end - position_start))
            End If
            boundary_pos    = InstrB(boundary_pos + LenB(boundary), request_binaries, boundary)
        Loop

        Set get_upload_files = upload_object

    End Function

    Function get_byte_string(str)
        Dim cnt
        For cnt = 1 to Len(str)
            get_byte_string    = get_byte_string & chrB(AscB(Mid(str, cnt, 1)))
        Next
    End Function

    Function get_string(str)
        Dim cnt
        For cnt = 1 to LenB(str)
            get_string    = get_string & chr(AscB(MidB(str, cnt, 1)))
        Next
    End Function

    Function extract_filename(filename)
        extract_filename    = Right(filename, Len(filename) - InStrRev(filename, "\", -1, 1))

FileExt = Mid(filename, InstrRev(filename, ".") + 1)

'--------------------------------------------------------------------   
'Check if the file is an JPG eller JPEG OR JPE OR GIF.
'--------------------------------------------------------------------
If LCase(FileExt) <> "jpg" AND LCase(FileExt) <> "jpeg" AND LCase(FileExt) <> "bmp" AND LCase(FileExt) <> "jpe" AND LCase(FileExt) <> "gif" Then
    error = error & "Du må kun uploade billede filer til mappen.\nBilledfiler har endelsen .JPG, .BMP, .JPEG, .JPE eller .GIF \n "
end if

'--------------------------------------------------------------------   
' If error isen`t "", has there become an error. Write it out.
'--------------------------------------------------------------------
If error <> "" Then
    Response.Clear
    %><html>
    <body onload="window.alert('Der er sket en fejl! \n\n<% =error %>');">
    <SCRIPT LANGUAGE="Javascript">setTimeout("self.close()",0000);</SCRIPT>
   
    &nbsp;</body></html><%
    Response.End
End If
    End Function
%>
Avatar billede eagleeye Praktikant
10. september 2004 - 17:25 #3
Er det ikke et upload script?

I bunden er der et tjek på fil typen:

If LCase(FileExt) <> "jpg" AND LCase(FileExt) <> "jpeg" AND LCase(FileExt) <> "bmp" AND LCase(FileExt) <> "jpe" AND LCase(FileExt) <> "gif" Then
    error = error & "Du må kun uploade billede filer til mappen.\nBilledfiler har endelsen .JPG, .BMP, .JPEG, .JPE eller .GIF \n "
end if
Avatar billede nythjem Nybegynder
10. september 2004 - 17:31 #4
Jo, men her finder vi også billederne frem :)

  Response.Write "<html><title>UPLOAD AF FILER</title><head></head><body topmargin=""0"" leftmargin=""0"" style=""background-color:transparent;""><script> " & scriptX & " </script><table border=""0"" cellspacing=""0"" cellpadding=""0"" width=""315""><tr><td><form name=""frmUpload"" method=""post"" enctype=""multipart/form-data"" action=""" & Request.ServerVariables("SCRIPT_NAME") & """> <input type=""file"" name=""upload"" style=""font-family: Verdana, Arial, Helvetica; font-size:10px;""> <input type=""submit"" value=""Upload"" style=""font-family: Verdana, Arial, Helvetica; font-size:10px;""></form></td><tr>"
    Response.Write "<tr><td><img src=""../gfx/1x1.gif"" width=""5"" height=""60""></td><tr><tr><td><form name=""myform"" action=""" & Request.ServerVariables("SCRIPT_NAME") & """><input type=""hidden"" name=""slet"" value=""slet""><select MULTIPLE size=""5"" style=""width:315;height:275; font-family:Verdana, Arial, Helvetica; font-size:10px"" name=""site"" onchange=""if(this.selectedIndex>0)parent.passText(this.value)""><option value=""FALSE"" selected>+++++ Vælg fil i boksen herunder +++++</option>"
    For Each g_oFile In g_oFolder.files
    Response.Write "<option value=""http://www." & PictureLink & "/billeder/" & g_oFile.name & """>" & g_oFile.name & "</option>"
    Next
    Response.Write "</select><br><a href=""java script:document.myform.submit();""onClick=""return window.confirm('Er du sikker på du vil slette denne fil?');""><img src=""/admin/gfx/deletefso.gif"" border=""0""></a></form></td><tr></table></body></html>"
Avatar billede nythjem Nybegynder
10. september 2004 - 17:31 #5
Nærmere betegnet..

For Each g_oFile In g_oFolder.files
    Response.Write "<option value=""http://www." & PictureLink & "/billeder/" & g_oFile.name & """>" & g_oFile.name & "</option>"
    Next
Avatar billede eagleeye Praktikant
10. september 2004 - 17:35 #6
Ok, der var den... ;)

Sådan her så:

For Each g_oFile In g_oFolder.files
  if instr(1,"bmp,gif,jpg,png,jpeg,tif",lcase(g_oFso.GetExtensionName(g_oFile.name)))>0 then

    Response.Write "<option value=""http://www." & PictureLink & "/billeder/" & g_oFile.name & """>" & g_oFile.name & "</option>"
end if
    Next
Avatar billede nythjem Nybegynder
10. september 2004 - 17:39 #7
Det var sørens, det synes jeg ellers lige jeg havde prøvet selv før jeg spurgte.. :)

Tusinde tak skal du have!

God weekend! :)
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