<% '==================================================================================== 'this two functions read_file and write_file provide wrapping 'for read and write file system objects for Microsoft Windows OS. ' 'if you migrate to a different platform, (Linux for example), 'you may replace this file with wrap file appropriate for a target 'platform without changing text of project which calls read_file and 'write_file; 'both function read_file and write_file 'perform mapping to the current-context-folder. 'therefore, full path will look: current-context-folder\wichFN_not_mapped function read_file( whichFN_not_mapped ) '==================================================================================== dim mapped, map dim FullName dim fstemp, filetemp dim excep on error resume next read_file = "" map ="." if whichFN_not_mapped = "" then err.raise 200,, "Empty path in ""read_file"" procedure" else '----------------------------------------------------------------- ' mapping '----------------------------------------------------------------- mapped = Server.Mappath(map) 'response.write "responding mapped=" & mapped & "<br>" FullName = mapped & "\" & whichFN_not_mapped '----------------------------------------------------------------- 'response.write "not responding complex=" & FullName & "<br>" Set fstemp = server.CreateObject("Scripting.FileSystemObject") if err.number > 0 then excep = "When creating file system object for file" & ve & _ FullName & ve & _ err.number & err.description err.raise 6666,, excep else Set filetemp = fstemp.OpenTextFile(FullName) if err.number > 0 then excep = "When opening text file" & ve & _ FullName & ve & _ err.number & err.description err.raise 6666,, excep else read_file = filetemp.ReadAll if err.number > 0 then excep = "When reading the file" & ve & _ FullName & ve & _ err.number & err.description err.raise 6666,, excep else filetemp.Close set filetemp=nothing set fstemp=nothing exit function end if end if end if end if set filetemp=nothing set fstemp=nothing end function '==================================================================================== 'Maps unmapped file to a current directory ".". 'Then writes text file "text_body" into this file. 'If no success, raises exception 6666. ' function write_file( whichFN_not_mapped , text_body ) '==================================================================================== dim mapped, map, whichFN write_file = "" dim fstemp, filetemp on error resume next if whichFN_not_mapped = "" then excep = "Cannot write to a file because it is empty." err.raise 6666,, excep exit function end if Set fstemp = server.CreateObject("Scripting.FileSystemObject") if err.number > 0 then excep = "When creating FileSystemObject for file" & ve & _ whichFN_not_mapped & ve & _ err.number & err.description err.raise 6666,, excep exit function end if map ="." '----------------------------------------------------------------- ' mapping '----------------------------------------------------------------- mapped = Server.Mappath(map) whichFN = mapped & "\" & whichFN_not_mapped 'response.write "in write, full name=" & whichfn & "<br>" '----------------------------------------------------------------- Set filetemp = fstemp.CreateTextFile(whichFN, true) if err.number > 0 then excep = "When creating text file " & ve & _ whichFN & ve & _ err.number & err.description err.raise 6666,, excep else filetemp.WriteLine( text_body ) if err.number > 0 then excep = "When writing line to file" & ve & _ whichFN & ve & _ err.number & err.description err.raise 6666,, excep else filetemp.Close if err.number > 0 then excep = "When closing text file" & ve & _ whichFN & ve & _ err.number & err.description err.raise 6666,, excep end if end if end if 'maybe redundant: ' set filetemp=nothing ' set fstemp=nothing end function '======================================================= 'returns list of files in the folder 'referenced by full path as 'appropriate for this operating system; ' 'INPUT: folderspec - full path 'OUTPUT: returns: ShowFileList - list of files surrounded ' "with" vbcrlf '------------------------------------------------------- Function ShowFileList(folderspec) Dim fs, f, fl, fc, s Set fs = CreateObject("Scripting.FileSystemObject") Set f = fs.GetFolder(folderspec) 'p_lsl " folder: " & f Set fc = f.Files 'p_sl "count:" & cstr(fc.count) s = vbcrlf For Each fl in fc s = s & vbcrlf & fl.name Next s = s & vbcrlf ShowFileList = s 'MsgBox s 'permission denied? when can it work? End Function '===================================== 'the same as ShowFileList, but path is 'relative to web page; '------------------------------------- Function vir_ShowFileList(folderspec) dim mapped 'mapped = Server.Mappath(".") & "\" & folderspec mapped = Server.Mappath(folderspec) vir_ShowFileList = ShowFileList(mapped) end function %>