Originariamente inviato da Horus-Ra
Devo controllare l'esistenza di un determinato file, che si trova in una cartella di un altro sito.
Il codice funziona, nel senso che se lo trova crea il link nella pagina a quel file, ma il problema è che rende il caricamento della pagina estremamente lento...
Sbaglio sistema? Esiste un altro modo per controllare l'esistenza e estrarlo?
codice:
file = "http://www.radiorcs.com/audio/podcast_" & x & "_" & anno & "-" & mese & "-" & giorno & ".wma"
Set xmlhttp = Server.CreateObject("MSXML2.ServerXMLHTTP")
xmlhttp.Open "GET", file, False
xmlhttp.Send
'qui controllo lo stato della pagina
pagestatus = xmlhttp.Status
Set xmlhttp = Nothing
'se lo stato della richiesta è = 200 allora la pagina è disponibile
If CInt(pagestatus) = 200 Then
contenuto = contenuto & "[*]http://Servizio podcast delle " & or..." & giorno & ""
end if
Ho lo stesso problema, ma il file lo cerco su una dir locale, dove i file sono nell'ordine delle migliaia.
Questa la porzione di codice che utilizzo.
codice:
Function tipofile(nomefile)
Dim vc_tipofile
vc_tipofile = nomefile
vc_tipofile = LCase(Right(vc_tipofile, Len(vc_tipofile) - InStrRev(vc_tipofile, ".", -1, 1)))
' verifico estensione del file .zip .word ecc
Select Case vc_tipofile
Case "doc"
vc_tipofile = "doc"
Case "dir"
vc_tipofile = "dir"
Case "htm", "html"
vc_tipofile = "htm"
Case "tif", "jpg" , "gif"
vc_tipofile = "img"
Case "txt"
vc_tipofile = "txt"
Case "pdf"
vc_tipofile = "pdf"
Case "zip"
vc_tipofile = "zip"
Case Else
vc_tipofile = "misc"
End Select
vc_tipofile = "[img][/img]"
tipofile = vc_tipofile
End Function
....
....
' Leggo il contenuto della directory e lo metto in un array
Dim strPath 'Path directory di ricerca
Dim objFSO 'Variabile FileSystemObject
Dim objFolder 'Variable directory
Dim objItem 'Variable per il loop nel contenuto della directory
strPath = "docuavvi/file/"
' Creo oggetto FSO
Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
' Creo un gestore per la directory
Set objFolder = objFSO.GetFolder(Server.MapPath(strPath))
' Carico il contenuto del percorso in una matrice
Dim Listing (9999, 4)
num = 1
For Each objItem In objFolder.Files
Listing (num, 1) = objItem.Name
Listing (num, 2) = objItem.Size
Listing (num, 3) = objItem.Type
Listing (num, 4) = objItem.Path
num=num+1
Next
num=num-1
' Fine, distruggo gli oggetti creati
Set objItem = Nothing
Set objFolder = Nothing
Set objFSO = Nothing
' Terza Parte: inserimento dell'array nel database
vc_flagtrovato="N"
i=0
%>
<%
For a=1 to num
nome_sporco=Listing(a,1)
nome_pulito=UCase( Left(nome_sporco, Len(nome_sporco)-4 ) )
dimKb = Int (Listing (a, 2)/1000)
if nome_pulito=ucase(strricecodiazie) then
i=i+1
vc_flagtrovato="S"
if i=1 then%>
<table border="1">
<tr>
<th class=testolabel>Nome </th>
<th class=testolabel>Dimensione </th>
<th class=testolabel>Tipo</th>
Qualche suggerimento per rendere più veloce la ricerca?