Avatar billede minau Nybegynder
08. april 2002 - 17:34 Der er 18 kommentarer og
1 løsning

Lade ASP skrive den genrerede kode til fil

Kan man gøre således at en asp fil automatisk skriver den generede kode til en fil?
Avatar billede excession Nybegynder
08. april 2002 - 18:35 #1
ja.. du skal bruge FSO

prøv at søge her i ASP kategorien efter FSO eller FileSystemObject..

-- xs
Avatar billede excession Nybegynder
08. april 2002 - 18:42 #2
Jeg prøvede faktisk at lege lidt med det på et tidspunkt for at lær lidt om FSO..:

<%OPTION EXPLICIT%>
<html>

<head>
</head>

<body>

<%


Dim TabStop, NewLine, newFilePath, newDrive, newFileName, newInput, title, newFolder, TextStream


function FormatStr(fString)
    fString = Replace(fString, CHR(13), "")
    fString = Replace(fString, CHR(10) & CHR(10), "</P><P>")
    fString = Replace(fString, CHR(10), "<BR>")

    FormatStr = fString
end function

' stien hvor filen skal oprettes, samt ny mappe
newFilePath = "E:\Inetpub\wwwroot\fso\" & request("filepath")

' navn på filen som skal oprettes. tilføjet .htm !!
newFileName = request("filename") & ".htm"

newInput = request("indhold")
newInput = FormatStr(newInput)

title = request("title")


' ********************* Create folder, file and text in file ************

Function Create(FSO)


' **** create folder, file and text in file ****
  Set FSO = CreateObject("Scripting.FileSystemObject")

  Set newFolder = FSO.CreateFolder(newFilePath)

  Set TextStream = FSO.CreateTextFile(newFilePath & "\" & newFileName)

  TextStream.WriteLine("<html>")
  TextStream.WriteLine("<head>")
  TextStream.WriteLine("<title>")
  TextStream.WriteLine(title)
  TextStream.WriteLine("</title>")
  TextStream.WriteLine("</head>")
  TextStream.WriteLine("<body>")
  TextStream.WriteLine("<b>")
  TextStream.WriteLine("<H1>" & newInput & "</H1>")
  TextStream.WriteLine("</b>")
  TextStream.WriteLine("</body>")
  TextStream.WriteLine("</html>")

  TextStream.Close


End Function

Create(newFileName)

' ***********************************************************************

response.redirect newFilePath & "\" & newFileName

%>
</body>
</html>


bare spørg hvis der er noget du ikke forstår..

-- xs
Avatar billede excession Nybegynder
08. april 2002 - 18:45 #3
de her TextStream.WriteLine("<html>") kan du jo bare ændre..

f.eks kan du hente data fra databasen og erstat eksemplet ovenover:
TextStream.WriteLine("<html>")

kan ændres til:

TextStream.WriteLine(rs("dataFraDatabase"))

osv osv


-- xs
Avatar billede minau Nybegynder
08. april 2002 - 18:56 #4
HTTP 500.100 - Internal Server Error - ASP error
Internet Information Services

--------------------------------------------------------------------------------

Technical Information (for support personnel)

Error Type:
Microsoft VBScript runtime (0x800A0046)
Permission denied
/df.asp, line 43


Browser Type:
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)

Page:
GET /df.asp

Time:
8. april 2002, 18:55:56


More information:
Microsoft Support

øv ø v - hvor er det jeg mangler at sætte noget til? -  jeg er sikker på at det er et eller andet sted - men hvor?
Avatar billede excession Nybegynder
08. april 2002 - 19:01 #5
Permission denied, lyder som om du ikke har rettigheder til et eller andet..

kan du ikke lige komme med din kode? så kan vi måske finde ud hvad der er galt

-- xs
Avatar billede coltau Juniormester
08. april 2002 - 19:12 #6
Mappen er skrivebeskyttet - du må kun gemme tekstfiler i mapper hvor du/alle har skriverettigheder til.
Avatar billede minau Nybegynder
08. april 2002 - 19:13 #7
<%OPTION EXPLICIT%>
<html>

<head>
</head>

<body>

<%


Dim TabStop, NewLine, newFilePath, newDrive, newFileName, newInput, title, newFolder, TextStream


function FormatStr(fString)
    fString = Replace(fString, CHR(13), "")
    fString = Replace(fString, CHR(10) & CHR(10), "</P><P>")
    fString = Replace(fString, CHR(10), "<BR>")

    FormatStr = fString
end function

' stien hvor filen skal oprettes, samt ny mappe
newFilePath = "W:\tingeling\" & request("filepath")

' navn på filen som skal oprettes. tilføjet .htm !!
newFileName = request("blablabla") & ".html"

newInput = request("indhold")
newInput = FormatStr(newInput)

title = request("title")


' ********************* Create folder, file and text in file ************

Function Create(FSO)


' **** create folder, file and text in file ****
  Set FSO = CreateObject("Scripting.FileSystemObject")

  Set newFolder = FSO.CreateFolder(newFilePath)

  Set TextStream = FSO.CreateTextFile(newFilePath & "\" & newFileName)

  TextStream.WriteLine("<html>")
  TextStream.WriteLine("<head>")
  TextStream.WriteLine("<title>")
  TextStream.WriteLine(title)
  TextStream.WriteLine("</title>")
  TextStream.WriteLine("</head>")
  TextStream.WriteLine("<body>")
  TextStream.WriteLine("<b>")
  TextStream.WriteLine("<H1>" & newInput & "</H1>")
  TextStream.WriteLine("</b>")
  TextStream.WriteLine("</body>")
  TextStream.WriteLine("</html>")

  TextStream.Close


End Function

Create(newFileName)

' ***********************************************************************

response.redirect newFilePath & "\" & newFileName

%>
</body>
</html>

Dette er gemt i filen df.asp på http://localhost på min computer - så der skulle da ikke være noget galt? (localhost (eller http://wulff) ligger på W:
Avatar billede excession Nybegynder
08. april 2002 - 19:18 #8
du kan i øvrigt se formen jeg brugte til at oprette htm filer med:

<html>
<head>
<title>input</title>
</head>
<body>
<br><br>
<form name="inputFso" action="fso.asp" method="POST">
filepath: <input type="text" name="filepath">
<br><br>
filename: <input type="text" name="filename">
<br><br>
<br>
title: <input type="text" name="title">
<br><br>

text: <textarea name="indhold" type="text" cols="33" rows="7" class="textfield"></textarea>
<input type="submit" name="submit" value="create file">
</form>
</body>
</html>
Avatar billede excession Nybegynder
08. april 2002 - 19:32 #9
højre klikke på mappen og vælge egenskaber og derefter sikkerhed og give dig selv de rettighedder

-- xs
Avatar billede excession Nybegynder
08. april 2002 - 20:43 #10
kan du få det til at virke nu? :)
Avatar billede minau Nybegynder
08. april 2002 - 22:38 #11
ZGÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅD XP - jeg går tilbage til W2K - jeg har  instaleret IIS 5 og så når jeg nu har slukket og statet computeren igen så er den guhjælpemig død - derud over kan man ikke tage egenskaber til mapper mere - kun til filer (eller filer + mapper) AAAAAAAAAAAAARRRRRRRRRRGGGGG - vrede vrede vrede.
Avatar billede coltau Juniormester
08. april 2002 - 23:33 #12
XP - hvad er det. ?

Det er da først noget der kommer når vi har grinet af alle andre. :-)
Avatar billede coltau Juniormester
08. april 2002 - 23:34 #13
Sorry - sorry.
Avatar billede excession Nybegynder
11. april 2002 - 14:32 #14
virker det nu?

-- xs
Avatar billede minau Nybegynder
11. april 2002 - 22:10 #15
:( - nope 
Jeg viller gerne stille dette spørgsmål på pause - kan man det? - lover at vende tilbage lige så snart 2000 er instaleret og kører
Avatar billede excession Nybegynder
19. april 2002 - 00:23 #16
har du fået det oppe at køre?

-- xs
Avatar billede minau Nybegynder
19. april 2002 - 16:00 #17
Den tabel fra 08/04-2002 19:18:29 - har du ikke brugt den til at uploade noget?
Avatar billede excession Nybegynder
19. april 2002 - 16:09 #18
nope.. den har jeg brugt til at fortælle scriptet hvor filen skal hen, hvad filen skal hedde, titlen på filen (HTML title), og teksten der skal stå i filen

-- xs
Avatar billede excession Nybegynder
21. april 2002 - 15:00 #19
skal vi ikke få afsluttet spørgsmålet?
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