- Home
- Categorie
- Coding e Sistemistica
- Altri linguaggi per il web
- nascondere estensione di un file
-
nascondere estensione di un file
Ho modificato uno script per la visualizzazione di thumbnail, una sorta di galleria immagini, per realizzare una piccola directory;
finche legge le cartelle nessun problema, ma arrivato ai file appare l' estensione (in questo caso .asp)...<% Const ForReading = 1, ForWriting = 2, ForAppending = 3 Const TristateUseDefault = -2, TristateTrue = -1, TristateFalse = 0 qfolder = request.querystring("f") if qfolder = "" then folderspec = server.mappath("categorie/.") Set filesys = CreateObject("Scripting.FileSystemObject") Set demofolder = filesys.GetFolder(folderspec) Set folcoll = demofolder.SubFolders Response.Write "<p class='paragrafo'><strong>Articoli divisi per categorie</strong></p>" For Each subfol in folcoll folfilen = subfol.Files.count - 1 folsize = left((subfol.size/1024000), 3) folist = folist & "<p><a href='categorie.asp?f=" & subfol.name & "'><strong title='view'>»</strong> " & subfol.Name & " </a><small> (inserzioni: "& folfilen & ")</small>" & vbcrlf folist = folist & "</p>" Next set filesys = nothing Response.Write folist else filepath = server.mappath("categorie") & "\" & qfolder captionfile = filepath & "\captions.txt" Set filesys = CreateObject("Scripting.FileSystemObject") Dim SomeArray() 'caption part If filesys.FileExists(captionfile) then set file = filesys.GetFile(captionfile) Set TextStream = file.OpenAsTextStream(ForReading,TristateUseDefault) captioncount = 0 Do While Not TextStream.AtEndOfStream Line = TextStream.readline ReDim Preserve SomeArray(captioncount) SomeArray(captioncount) = line response.write " " & somearray(captioncount) captioncount = captioncount + 1 'Response.write Line Loop textStream.close end if 'folder part Set demofolder = filesys.GetFolder(filepath) Set filecoll = demofolder.Files filecount = -1 For Each file in filecoll Ext = UCase(Right(File.Path, 3)) If Ext = "ASP" OR Ext = "asp" Then on error resume next data = SomeArray(filecount) on error goto 0 hrefpath = "categorie/" & qfolder & "/" & file.name imagepath = "<a href='" & hrefpath & "'><li>" & file.name & "</li></a>" filist = filist & imagepath & vbcrlf filist = filist & "" filecount = filecount + 1 data = "" end if Next set filesys = Nothing %> <p><a href="categorie.asp" title="torna alla lista ">articoli divisi per categorie</a> » <%=qfolder%></p> <%=filist%> <% end if %>
sapete indicarmi una strada?
mille grazie
-
provo a porre diversamente la domanda:
stampando a schermo i contenuti di una directory (che nel mio caso contiene pagine .asp), è possibile visualizzare solo il nome del file e non l' estensione?
i risultati dello script ad esempio sono:
pagina1.asp
pagina2.asp
pagina3.asp
io voreei semplicemente:
pagina1
pagina2
etc
oppure potrebbe andare:
pagina1...
pagina2...
pagina3...grazie ancora
Sid
-
@sid05 said:
provo a porre diversamente la domanda:
stampando a schermo i contenuti di una directory (che nel mio caso contiene pagine .asp), è possibile visualizzare solo il nome del file e non l' estensione?
i risultati dello script ad esempio sono:
pagina1.asp
pagina2.asp
pagina3.asp
io voreei semplicemente:
pagina1
pagina2
etc
oppure potrebbe andare:
pagina1...
pagina2...
pagina3...grazie ancora
Sidmetti che la tua variabile con il nome del file si chiami nomefile
nomefile=Left(nomefile,InstrRev(nomefile,".")-1)
In questo modo tronchi tutto ciò che viene dopo il punto.
-
@eLLeGi said:
metti che la tua variabile con il nome del file si chiami nomefile
nomefile=Left(nomefile,InstrRev(nomefile,".")-1)
In questo modo tronchi tutto ciò che viene dopo il punto.
questa è la parte di codice che stampa i fileif instr(fl.name,"asp")then Response.write "<a href='"& fl.name &"'>" & fl.name &"</a>"
sto provando ad inserire il tuo codice ma con scarsi risultati...
-
@sid05 said:
questa è la parte di codice che stampa i file
>if instr(fl.name,"asp")then Response.write "<a href='"& fl.name &"'>" & fl.name &"</a>" >``` sto provando ad inserire il tuo codice ma con scarsi risultati...
if instr(fl.name,"asp")then
nomefile=fl.name
nomefile=Left(nomefile,InstrRev(nomefile,".")-1)Response.write "<a href='"& fl.name &"'>" & nomefile &"</a>"
'nota bene qui ho lasciato l'href non troncato e il testo senza estensione come volevi tu
-
Ho inserito il codice come da tuo suggerimento ma mi restituisce un errore di run-time VB:
necessario oggetto:"fl"ti invio il codice completo (che è un po diverso dalla versione che ho postato)
<% Dim FileObject Set FileObject = Server.CreateObject("Scripting.FileSystemObject") StrPath = Server.MapPath("/categorie") call GetFiles(StrPath) call GetFolders(StrPath) Set FileObject = Nothing Sub GetFiles(strPath) Set f = FileObject.GetFolder( strPath ) Set fc = f.Files For Each f1 in fc if instr(f1.name, ".asp") then nomefile = fl.name nomefile = Left(nomefile, InstrRev(nomefile,".")-1) Response.write "<p><a href='categorie/"& f.name &"/" & f1.name & "'> " & nomefile & "</a>" end if Next Set fc = Nothing Set f = Nothing End sub Sub GetFolders(strPath) Set f = FileObject.GetFolder( strPath ) Set fc = f.SubFolders For Each f1 in fc Response.write "<h3>" & f1.name Response.write "</h3>" call GetFiles(f1) call GetFolders(f1) Response.write "" Next Set fc = Nothing Set f = Nothing End sub %>
per ora ti ringrazio per il tempo che mi dedichi
a presto...
-
-
sono veramente idiota...
avevo confuso una l con un 1...
perdonami---grazie mille, perfettamente funzionante, l' appetito vien mangiando:
se volessi inserire alla fine i puntini di sospensione?mille grazie ancora
-
@sid05 said:
sono veramente idiota...
avevo confuso una l con un 1...
perdonami---grazie mille, perfettamente funzionante, l' appetito vien mangiando:
se volessi inserire alla fine i puntini di sospensione?mille grazie ancora
nomefile = f1.name & "..."
-
in questo modo però non tronca più la stringa..
ho risolto mettendo i punti nel linkti ringrazio sinceramente per la disponibilità e per il suggerimento
a presto