qwertyMedlem sedan jan. 2001391 inlägg Nu är det så här:
Jag har en sida som visar nyheter som jag själv skriver in i en textfil. Sidan visar innehållet i textfilen.
Det jag skulle vilja göra är att kunna öppna textfilen, redigera den och spara den från en asp sida.
Någon som har några heta tips?
Så här ser koden ut just nu
<%
Set A = CreateObject("Scripting.FileSystemObject")
Set B = A.OpenTextFile ("c:\inetpub\wwwroot\nyheter\news.txt")
Nyheter = B.ReadAll
B.close
%>
<%=nyheter%>
------------------
Qwerty
Den som söker han letar...
JanspeedMedlem sedan jan. 2001510 inlägg Denna har jag skapat för att administrera enkla HTML-sidor med. Håll till godo. Om det är nått du undrar så får du fråga.
Koden refreshar lite dåligt och därför har jag använt en väldigt enkel <meta> - refresh när sidan laddas som du kanske märker när du tittar på koden. Om du kommer på något bättre sätt att lösa detta så får du gärna berätta det för mig.
Koden är dessutom inte finputsad så det kanske finns en hel del onödiga kommandon men den är fullt funktions duglig.
Ta väl hand om min kod för jag har jobbat hårt med den ;)
<html>
<head>
<title>Admin</title>
</head>
<body>
<%
'Kod skapad av Jens Nilsson Sweden 2000
Response.Write "<b>Välkommen till Jens fenomenala adminsystem för HTML dokument</b><br><br>"
Dim dokVar, rubVar, textVar, actionVar, folder, Rubrik, Text
dokVar = Request("dokument")
rubVar = Request("rubrik")
textVar = Request("text")
actionVar = Request("action")
'Get path to folder wich contains the files
folder = Server.MapPath("/admin_publish/dokument/")
Rubrik = ""
Text = ""
'Choose wich action you want to do
Select Case actionVar
'For Saving document
Case "Spara"
Dim Create, Write, savePath, file, count
Set Create = Server.CreateObject("Scripting.FileSystemObject")
'Replace all the vbcrlf with html breaks
textVar = Replace(textVar, vbcrlf, "<br>")
'Check if the document's first letters is "dok"
If Left(dokVar, 3) = "dok" Then
savePath = Create.BuildPath(folder, dokVar)
Set Write = Create.OpenTextFile(savePath, 2)
Write.WriteLine "<!--" & rubVar & "-->"
Write.WriteLine "<html>" & vbcrlf & "<head>" & vbcrlf & "<title>Atomatiskt dokument</title>" & vbcrlf & "</head>" & vbcrlf & "<body>" & vbcrlf & "<br>"
Write.WriteLine "<p><b><i>" & vbcrlf & rubVar & vbcrlf & "</i></b></p>" & vbcrlf
Write.WriteLine "<p>" & vbcrlf & textVar & vbcrlf & "</p>" & vbcrlf
Write.WriteLine "</body>" & vbcrlf & "</html>"
Write.Close
Response.Write "Filen har sparats som " & dokVar & "<br>" & vbcrlf
Else
count = 1
file = "dok0" & count & ".asp"
savePath = Create.BuildPath(folder, file)
Do Until Create.FileExists(savePath) = False
count = count + 1
file = "dok0" & count & ".asp"
savePath = Create.BuildPath(folder, file)
Loop
If Create.FileExists(savePath) = False Then
Set Write = Create.CreateTextFile(savePath, 2)
Write.WriteLine "<!--" & rubVar & "-->"
Write.WriteLine "<html>" & vbcrlf & "<head>" & vbcrlf & "<title>Automatiskt dokument</title>" & vbcrlf & "</head>" & vbcrlf & "<body>" & vbcrlf & "<br>"
Write.WriteLine "<p><b><i>" & vbcrlf & rubVar & vbcrlf & "</i></b></p>" & vbcrlf
Write.WriteLine "<p>" & vbcrlf & textVar & vbcrlf & "</p>" & vbcrlf
Write.WriteLine "</body>" & vbcrlf & "</html>"
Write.Close
Response.Write "Filen har skapats och sparats som dok0" & count & ".asp<br>" & vbcrlf
Else
Response.Write "Filen skapades inte<br>" & vbcrlf
End If
End If
'For removing documents
Case "Ta bort"
If dokVar = "0" Then
Response.Write "Felaktig fil!<br>Du måste välja vilken fil du vill ta bort först<br>" & vbcrlf
Else
Dim Delete, deletePath
Set Delete = Server.CreateObject("Scripting.FileSystemObject")
deletePath = Delete.BuildPath(folder, dokVar)
Delete.DeleteFile deletePath
Response.Write "Filen " & dokVar & " har tagits bort<br>" & vbcrlf
End If
'For editing documents
Case "Editera"
If dokVar = "0" Then
Response.Write "<tr><td>Du måste vaälja vilken fil du vill editera först</td></tr>" & vbcrlf
Else
Dim Edit, editPath, Open, Parse
Set Edit = Server.CreateObject("Scripting.FileSystemObject")
editPath = Edit.BuildPath(folder, dokVar)
Set Open = Edit.OpenTextFile(editPath)
'Skips lines until it reaches line 9
Do Until Open.Line = 9
Open.SkipLine
Loop
'Opens line 9 which contains the headline
Rubrik = Open.ReadLine
'Skips lines until it reaches line 13
Do Until Open.Line = 13
Open.SkipLine
Loop
'Opens line 13 which contains the textcontent
Text = Open.ReadLine
Open.Close
Text = Replace(Text, "<br>", vbcrlf)
Response.Write "Editera<br>" & vbcrlf
End If
'For aborting an action
Case "Avbryt"
Response.Write "Avbruten<br>" & vbcrlf
'Deafault upon loading for the first time
Case Default
If Not request.querystring("content")="reloaded" then
Response.Write "Vänta till sidan laddats om.<br>" & vbcrlf
Response.Write "<meta http-equiv=""Refresh"" content=""0;URL=admin.asp?content=reloaded"">" & vbcrlf
End If
Response.Write "Klar<br>" & vbcrlf
End Select
'Admin dokument buildup
Response.Write "<tr><td colspan=2><form name=dokument action=""admin.asp"" method=""post"">" & vbcrlf
Response.Write "Behandla<br>" & vbcrlf & "<select name=""dokument"" size=1>" & vbcrlf
Response.Write "<option value=""0"" selected>Ny ledig tjänst" & vbcrlf
If actionVar = "Editera" AND Not dokVar = "0" Then
Response.Write "<option value=""" & dokVar & """ selected>" & dokVar & vbcrlf
Else
ScanDir
End If
Response.Write "</select><br><br></td></tr>"
Response.Write "<tr><td>Rubrik<br><input type=""text"" name=""rubrik"" size=""41"" value=""" & Rubrik & """><br><br>"
Response.Write "Innehåll<br><textarea cols=40 rows=15 name=""text"">" & Text & "</textarea><br><br>"
Response.Write "<input type=submit name=""action"" value=""Spara""> <input type=""submit"" name=""action"" value=""Editera""> <input type=""Reset"" value=""Töm""> <input type=submit name=""action"" value=""Ta bort""> <input type=submit name=""action"" value=""Avbryt"">"
Response.Write "</form></td></tr>"
'Function for scanning the directory for automatic dokuments
Function ScanDir
'Declare our variables
Dim objFSO, readFSO, objFolder, fileObject, T, Output
Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
Set readFSO = Server.CreateObject("Scripting.FileSystemObject")
'set our folder object to the web root folder
Set objFolder = objFSO.GetFolder(folder)
For Each fileObject in objFolder.Files
If readFSO.FileExists(fileObject) = True Then
Set T = readFSO.OpenTextFile(fileObject)
'Skips lines until it reaches line 9
Do Until T.Line = 9
T.SkipLine
Loop
'Opens line 9 which contains the textcontent
Output = T.ReadLine
Response.Write "<option value=" & fileObject.Name & ">" & Output & vbcrlf
T.Close
End If
Next
End Function
%>
</body>
</html>
JanspeedMedlem sedan jan. 2001510 inlägg Har inte qwerty sett mitt fina inlägg?
qwertyMedlem sedan jan. 2001391 inlägg Jodå.
Tack för ditt engagemang. Jag har dock inte använt ditt script, även om jag plockat en del goda idéer.
Tack.
------------------
Qwerty
Den som söker han letar...