I have looked at all of the similar questions, and they, unless I missed something, do not answer my question; so here goes:
I want to open a text file on my webpage; but The title is a passed variable. I am getting an error when trying to use the variable. Here is my code:
Option Explicit
Response.CodePage=65001
Response.CharSet="UTF-8"
DIM VTITLE
VTITLE = REQUEST("TITLE_")&".TXT"
Const Filename = VTITLE 'file to read in this case it is 101.txt
Const ForReading = 1, ForWriting = 2, ForAppending = 3
Const TristateUseDefault = -2, TristateTrue = -1, TristateFalse = 0
' Create a filesystem object
Dim FSO
set FSO = server.createObject("Scripting.FileSystemObject")
' Map the logical path to the physical system path
Dim Filepath
Filepath = Server.MapPath(Filename)
if FSO.FileExists(Filepath) Then
' Get a handle to the file
Dim file
set file = FSO.GetFile(Filepath)
' Get some info about the file
Dim FileSize
FileSize = file.Size
Response.Write "<p><b>File: " & Filename & " (size " & FileSize &_
" bytes)</b></p><hr>"
Response.Write "<pre>"
' Open the file
Dim TextStream
Set TextStream = file.OpenAsTextStream(ForReading, TristateUseDefault)
' Read the file line by line
Do While Not TextStream.AtEndOfStream
Dim Line
Line = TextStream.readline
' Do something with "Line"
Line = Line & vbCRLF
Response.write Line
Loop
Response.Write "</pre><hr>"
Set TextStream = nothing
Else
Response.Write "<h3><i><font color=red> File " & Filename &_
" does not exist</font></i></h3>"
End If
Set FSO = nothing
The error is.. Expected literal constant
/_READING TEXTFILE.asp, line 8
Const Filename = VTITLE 'file to read
I have tried different ways for the variable, such as &VTITLE ect.
The code works if I put the title in "" such as "101.txt". Can someone help me with this, please?? I do not know how to make a variable into a constant, I guess.
As the VBScript Documentation says;
So you either switch to using the already declared
VTITLE
variable or you replace theConst Filename
with;Useful Links