Just nu i M3-nätverket
Gå till innehåll

FSO problem.


Skåningen

Rekommendera Poster

[MÄRK]<%[/MÄRK]
[color="#0000ff"]If[/color] [b]Request[/b].querystring([GRÅ]"Lista"[/GRÅ]) = [GRÅ]"List"[/GRÅ] [color="#0000ff"]Then[/color]
Katalog = [b]Request[/b].Querystring([GRÅ]"Katalog"[/GRÅ])
[color="#0000ff"]Set[/color] FSO = [color="#0000ff"]CreateObject[/color]([GRÅ]"Scripting.FileSystemObject"[/GRÅ])
[color="#0000ff"]Set[/color] Map = FSO.GetFolder([b]Server[/b].MapPath(katalog))
[color="#0000ff"]Set[/color] Maa = Map.Subfolders
[color="#0000ff"]For[/color] [color="#0000ff"]Each[/color] Mal [color="#0000ff"]In[/color] Maa
[b]Response[/b].write [GRÅ]"<a href="[/GRÅ]& katalog & [GRÅ]"/"[/GRÅ] & mal.name & [GRÅ]">"[/GRÅ] & Mal.name & [GRÅ]"</a><br>"[/GRÅ]
[color="#006400"]'Response.write [GRÅ]"<a href=mapp6.asp?Lista=List&katalog="[/GRÅ] & mal.name& [GRÅ]">"[/GRÅ] & Mal.name & [GRÅ]"</a><br>"[/GRÅ][/color]
[color="#0000ff"]Next[/color]
[color="#0000ff"]Set[/color] FOS = [color="#0000ff"]Nothing[/color]


[color="#006400"]'rad 10[/color]
[color="#0000ff"]Else[/color]
MapLista = [GRÅ]"."[/GRÅ]
[color="#0000ff"]Set[/color] FSO = [color="#0000ff"]CreateObject[/color]([GRÅ]"Scripting.FileSystemObject"[/GRÅ])
[color="#0000ff"]Set[/color] FFF = Fso.GetFolder([b]Server[/b].MapPath(MapLista))
[color="#0000ff"]Set[/color] FSM = FFF.SubFolders
[color="#0000ff"]For[/color] [color="#0000ff"]Each[/color] MappNamn [color="#0000ff"]In[/color] FSM
[b]Response[/b].write [GRÅ]"<a href=mapp6.asp?Lista=List&Katalog="[/GRÅ] & MappNamn.name & [GRÅ]">"[/GRÅ] & MappNamn.name & [GRÅ]"</a><br>"[/GRÅ] 
[color="#0000ff"]Next[/color]
[color="#0000ff"]Set[/color] FSO = [color="#0000ff"]Nothing[/color]
[color="#0000ff"]End[/color] [color="#0000ff"]If[/color]
[MÄRK]%>[/MÄRK]




Följande kod: 


[b]Response[/b].write [GRÅ]"<a href="[/GRÅ]& katalog & [GRÅ]"/"[/GRÅ] & mal.name & [GRÅ]">"[/GRÅ] & Mal.name & [GRÅ]"</a><br>"[/GRÅ]




Då blir det 
/mappen/undermapp 
Så långt fungerar allt som det är tänkt. 
Men nu till mitt problem. 

[b]Response[/b].write [GRÅ]"<a href=mapp6.asp?Lista=List&katalog="[/GRÅ] & mal.name& [GRÅ]">"[/GRÅ] & Mal.name & [GRÅ]"</a><br>"[/GRÅ]
[color="#006400"]'det är den här koden som jag har problem med som jag inte får att fungera som jag vill ha det.[/color]



felet som uppstår är. 
/undermapp 
men jag vill ju inte ha det så utan vill ha 
/mapp/undermapp 

är det någon som förstår sig på vad jag har gjort för fel? 
Eller har nåt sätt att lösa mitt problem med?

 

Någon som kan säga vad jag gör för fel?

 

har tillfälligt löst genom att ha samma fil i alla mappar men det ska väl inte behövas?

 

/Du kan alltid nå mig via skolans växel.

 

Länk till kommentar
Dela på andra webbplatser

Jag är inte säker på att jag förstår problemet, men det verkar som om du bara vill skriva ut "katalog":

[b]Response[/b].write [GRÅ]"<a href=mapp6.asp?Lista=List&katalog="[/GRÅ] & katalog & [GRÅ]"/"[/GRÅ] & mal.name & [GRÅ]">"[/GRÅ] & katalog & [GRÅ]"/"[/GRÅ] & mal.name & [GRÅ]"</a><br>"[/GRÅ]

 

mvh

Olle

 

Länk till kommentar
Dela på andra webbplatser

Problemet är att om du skriver:

 

Response.write "<a href=mapp6.asp?Lista=List&katalog=" & mal.name& ">" & Mal.name & "</a><br>"

 

så kommer du alltid att visa den mappen direkt.

Du måste ange att du är i /undermap typ:

 

Response.write "<a href=mapp6.asp?Lista=List&katalog=" & aktuellMapp & "/" & "mal.name& ">" & Mal.name & "</a><br>"

 

Länk till kommentar
Dela på andra webbplatser

Tackar då vet jag om det.

En annan fråga som är problemet ljust nu. (har fått det med undermaparna att fungera.

Men mitt problem är nu.

Jag vill lista filerna i den aktuella mappen. Men det fungerar inte som jag vill har försökt med . försökt med " och " och () osv men inget funkar får bara olika felmedelande. Min kod är.

 

[MÄRK]<%[/MÄRK]
[color="#0000ff"]Set[/color] FSO = [color="#0000ff"]CreateObject[/color]([GRÅ]"Scripting.FileSystemObject"[/GRÅ])
[color="#0000ff"]Set[/color] F = FSO.GetFile([b]Server[/b].mappath([GRÅ]"."[/GRÅ]))
S = F.path & [GRÅ]"<br>"[/GRÅ]
[MÄRK]%>[/MÄRK]

File not found.

 

i något annat fel argument osv.

 

/Du kan alltid nå mig via skolans växel.

 

[bild raderad 12/7/2004 5:54:24 AM av Skåningen]

Länk till kommentar
Dela på andra webbplatser

Du måste ange ett namn på filen om du använder GetFile. Använd Files för att få en samling av alla filerna i en mapp och loopa sen igenom denna.

 

Följande listar filerna i aktuell mapp:

 

[color="#0000ff"]Set[/color] fso = [color="#0000ff"]CreateObject[/color]([GRÅ]"Scripting.FileSystemObject"[/GRÅ])
[color="#0000ff"]Set[/color] f = fso.GetFolder([b]Server[/b].Mappath([GRÅ]"."[/GRÅ]))
[color="#0000ff"]Set[/color] fc = f.Files
[color="#0000ff"]For[/color] [color="#0000ff"]Each[/color] file [color="#0000ff"]In[/color] fc
[b]Response[/b].write file.path & [GRÅ]"<br>"[/GRÅ]
[color="#0000ff"]Next[/color]

 

[inlägget ändrat 2004-12-07 06:03:35 av Anjuna Moon]

Länk till kommentar
Dela på andra webbplatser

Tackar ska prova det.

Har inte jobbat med FSO innan.

Men har lärt mig att göra med folder och nu vill jag lära mig

med filer och sen kopiera/radera och skapa är nog inte så

svårt har provat att läsa en fil och skriva över

(När jag läste om FSO i idg.se/webstudio/

 

Men med det jag ska göra nu är lite mer avancerat

då jag vill att den jag har ska lista mappar filer och katalogen (så man kan gå upp 1 nivå till)

Kan jag få det funka är jag nöjd och sen blir det att bygga på så man kan editera filer och skapa filer.

 

 

Länk till kommentar
Dela på andra webbplatser

Här har du ett script som listar mappar (som länkar) och filer. Är man inte i roten visas en [upp en nivå]-länk. Alltid något att börja med. Sedan kan du ju utöka det med bilder för mappar istället för vanliga länkar mm.

 

Spara nedanstående som test.asp

 

[log]

<html><body>
[MÄRK]<%[/MÄRK]
Folder=[b]Request[/b].Querystring([GRÅ]"Folder"[/GRÅ])
SubF=[b]Request[/b].Querystring([GRÅ]"Sub"[/GRÅ])
Action=[b]Request[/b].Querystring([GRÅ]"Action"[/GRÅ])
[color="#0000ff"]If[/color] Folder=[GRÅ]""[/GRÅ] [color="#0000ff"]Then[/color] Folder=[GRÅ]"."[/GRÅ]
[color="#0000ff"]If[/color] SubF<>[GRÅ]""[/GRÅ] [color="#0000ff"]Then[/color] Folder=Folder & [GRÅ]"/"[/GRÅ] & [color="#0000ff"]Sub[/color]F
[color="#0000ff"]Set[/color] fso = [color="#0000ff"]CreateObject[/color]([GRÅ]"Scripting.FileSystemObject"[/GRÅ])
[color="#0000ff"]Set[/color] f = fso.GetFolder([b]Server[/b].Mappath(Folder))
[color="#0000ff"]Set[/color] ff = f.SubFolders

[color="#0000ff"]If[/color] [color="#0000ff"]InStr[/color](Folder,[GRÅ]"/"[/GRÅ])>0 [color="#0000ff"]Then[/color]
Parent=[color="#0000ff"]Left[/color](Folder,[color="#0000ff"]InStrRev[/color](Folder,[GRÅ]"/"[/GRÅ])-1)
[b]Response[/b].write [GRÅ]"<a href='test.asp?Folder="[/GRÅ] & Parent & [GRÅ]"&Action=up'>[upp en nivå]</a><br><br>"[/GRÅ]
[color="#0000ff"]End[/color] [color="#0000ff"]If[/color]
[color="#0000ff"]For[/color] [color="#0000ff"]Each[/color] fld [color="#0000ff"]In[/color] ff
[b]Response[/b].write [GRÅ]"<a href='test.asp?Folder="[/GRÅ] & Folder & [GRÅ]"&Sub="[/GRÅ] & fld.name & [GRÅ]"'>"[/GRÅ] & fld.name & [GRÅ]"</a><br>"[/GRÅ]
[color="#0000ff"]Next[/color]
[color="#0000ff"]Set[/color] fc = f.Files
[color="#0000ff"]For[/color] [color="#0000ff"]Each[/color] file [color="#0000ff"]In[/color] fc
[b]Response[/b].write file.name & [GRÅ]"<br>"[/GRÅ]
[color="#0000ff"]Next[/color]
[MÄRK]%>[/MÄRK]
</body></html>

[/log]

 

Länk till kommentar
Dela på andra webbplatser

Tackar. Nu till det svårast (tror jag)

Hur gör jag lättast för att få filen (länka) att komma upp i ett fönster där jag kan editera innehållet i filen?

 

 

Länk till kommentar
Dela på andra webbplatser

Kanske det här kan vara något (har byggt på den gamla koden):

 

[log]

<html><body>
[MÄRK]<%[/MÄRK]
Folder=[b]Request[/b].Querystring([GRÅ]"Folder"[/GRÅ])
SubF=[b]Request[/b].Querystring([GRÅ]"Sub"[/GRÅ])
Action=[b]Request[/b].Querystring([GRÅ]"Action"[/GRÅ])
File=[b]Request[/b].Querystring([GRÅ]"File"[/GRÅ])
[color="#0000ff"]Set[/color] fso = [color="#0000ff"]CreateObject[/color]([GRÅ]"Scripting.FileSystemObject"[/GRÅ])
[color="#0000ff"]Select[/color] [color="#0000ff"]Case[/color] Action
[color="#0000ff"]Case[/color] [GRÅ]"Edit"[/GRÅ]
	[color="#0000ff"]Set[/color] f = fso.OpenTextFile([b]Server[/b].MapPath(Folder & [GRÅ]"/"[/GRÅ] & File), 1, [color="#0000ff"]False[/color])
	sBody=f.ReadAll
	f.close
	[b]Response[/b].write [GRÅ]"<form action='test.asp?Action=Save&File="[/GRÅ] & File & [GRÅ]"&Folder="[/GRÅ] & Folder & [GRÅ]"&SubF="[/GRÅ] & SubF & [GRÅ]"' method='post'>"[/GRÅ]
	[b]Response[/b].write [GRÅ]"<textarea name='SourceCode' cols=60 rows=30>"[/GRÅ] & sBody & [GRÅ]"</textarea><br>"[/GRÅ]
	[b]Response[/b].write [GRÅ]"<input type='submit' value='Spara'></form>"[/GRÅ]
[color="#0000ff"]Case[/color] [GRÅ]"Save"[/GRÅ]
	sBody=[b]Request[/b]([GRÅ]"SourceCode"[/GRÅ])
	[color="#0000ff"]Set[/color] f = fso.OpenTextFile([b]Server[/b].MapPath(Folder & [GRÅ]"/"[/GRÅ] & File), 2, [color="#0000ff"]False[/color])
	f.Write sBody
	f.Close
	Dir
[color="#0000ff"]Case[/color] [color="#0000ff"]Else[/color]
	Dir
[color="#0000ff"]End[/color] [color="#0000ff"]Select[/color]	
[color="#0000ff"]Sub[/color] Dir()
[color="#0000ff"]If[/color] Folder=[GRÅ]""[/GRÅ] [color="#0000ff"]Then[/color] Folder=[GRÅ]"."[/GRÅ]
[color="#0000ff"]If[/color] SubF<>[GRÅ]""[/GRÅ] [color="#0000ff"]Then[/color] Folder=Folder & [GRÅ]"/"[/GRÅ] & [color="#0000ff"]Sub[/color]F
[color="#0000ff"]Set[/color] f = fso.GetFolder([b]Server[/b].Mappath(Folder))
[color="#0000ff"]Set[/color] ff = f.SubFolders

[color="#0000ff"]If[/color] [color="#0000ff"]InStr[/color](Folder,[GRÅ]"/"[/GRÅ])>0 [color="#0000ff"]Then[/color]
	Parent=[color="#0000ff"]Left[/color](Folder,[color="#0000ff"]InStrRev[/color](Folder,[GRÅ]"/"[/GRÅ])-1)
	[b]Response[/b].write [GRÅ]"<a href='test.asp?Folder="[/GRÅ] & Parent & [GRÅ]"&Action=up'>[upp en nivå]</a><br><br>"[/GRÅ]
[color="#0000ff"]End[/color] [color="#0000ff"]If[/color]
[color="#0000ff"]For[/color] [color="#0000ff"]Each[/color] fld [color="#0000ff"]In[/color] ff
	[b]Response[/b].write [GRÅ]"<b>[<a href='test.asp?Folder="[/GRÅ] & Folder & [GRÅ]"&Sub="[/GRÅ] & fld.name & [GRÅ]"'>"[/GRÅ] & fld.name & [GRÅ]"</a>]</b><br>"[/GRÅ]
[color="#0000ff"]Next[/color]
[color="#0000ff"]Set[/color] fc = f.Files
[color="#0000ff"]For[/color] [color="#0000ff"]Each[/color] file [color="#0000ff"]In[/color] fc
	[b]Response[/b].write [GRÅ]"---<a href='test.asp?Action=Edit&File="[/GRÅ] & file.name & [GRÅ]"&Folder="[/GRÅ] & Folder & [GRÅ]"&SubF="[/GRÅ] & SubF & [GRÅ]"'>"[/GRÅ] & file.name & [GRÅ]"</a><br>"[/GRÅ]
[color="#0000ff"]Next[/color]
[color="#0000ff"]End[/color] [color="#0000ff"]Sub[/color]
[MÄRK]%>[/MÄRK]
</body></html>

[/log]

 

Länk till kommentar
Dela på andra webbplatser

Allt fungerar förutom en liten sak. Och är nästan det viktigaste när det är så långt kommen och det är spara saken. När jag klickar på spara får jag följande felmedelande:

 

Pemisson Denid.

 

Hos vem ligger problemet hos dom jag hyr platsen hos eller att vi kör fel kod för spara, om det finns flera sätt.

 

/Du kan alltid nå mig via skolans växel.

 

Länk till kommentar
Dela på andra webbplatser

Det var inte bara mappen utan även filen. Men ändra det så har skriv och läs på både fil och mapp.

 

/Du kan alltid nå mig via skolans växel.

 

Länk till kommentar
Dela på andra webbplatser

Jag måste ge skriv och läs rättigheter både på mappar och filer (Varje fil)

Hur ska jag göra så jag slipper göra det på servern (det skulle ta 10 år)

men 1 sekund om jag kunde göra på alla direkt.

Hur löser man det?

 

/Du kan alltid nå mig via skolans växel.

 

Länk till kommentar
Dela på andra webbplatser

Anjuna Moon: Annars fungerar scriptet :thumbsup: bra :-)

Du borde skriva en artikel om hur det fungerar för oss som inte är så duktiga på FSO

 

/Du kan alltid nå mig via skolans växel.

 

Länk till kommentar
Dela på andra webbplatser

- Högerklicka på huvudmappen och välj Properties->Security

- Lägg till IUSR_[DATORNAMN]

- Ange de rättigheter du vill ha

- Klicka på Advanced och kryssa i "Reset permissions on all child objects..."

- Klicka OK och acceptera.

 

Nu sätts rättigheterna på hela filträdet.

 

Kul att det fungerar bra i övrigt. Jo, skriva lite tutorials och liknande har jag velat göra länge, men jag tror inte jag är tillräckligt pedagogiskt lagd tyvärr. Jag hjälper till så gott jag kan härinne istället.

 

Länk till kommentar
Dela på andra webbplatser

Det förstår jag men hru ska jag göra det på ett webbhotel där jag hyr plats av då går väl inte det?

 

/Du kan alltid nå mig via skolans växel.

 

Länk till kommentar
Dela på andra webbplatser

Det ska räcka att de gör det en gång för alla. Nya filer skall ärva samma rättigheter i fortsättningen. Men vilka policys som gäller beror ju på webbhotell, hoppas dina är snälla ;)

 

Länk till kommentar
Dela på andra webbplatser

Jävla skit sida.

Hade nu skrivit 1 långt medelande får sidan kunde inte hittas (Posta ett inlägg här på forumet på eforum.idg.se)

då blir man sur.

 

/Du kan alltid nå mig via skolans växel.

 

Länk till kommentar
Dela på andra webbplatser

Specielt om det var på typ 2000 ord.

 

Jo dom är trevliga.

Jag har: Box Hosting. (www.box.se)

 

Kan man göra en array vektor i en fil som sen kontrollerar om filerna i array vektorn finns i mappen om den finns skriv inte ute den om den inet finns i array men på sidan (då syns den) men finns den i Array men inte i mappen gör inget skriv inte ut den utan skriv den som skriv skyddad.

Kan man göra det i array?

 

Skrev det i föra mess som inte kom med + lite annat.

/MVH MS.

 

/Du kan alltid nå mig via skolans växel.

 

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.

×
×
  • Skapa nytt...