Greetings,

I'm experimenting with an ASP page that reads data from a file name
that is passed to it as a parameter, as in this page, which works,
because the "good" file exists.

http://mazes.com/asp-maze/customized.asp?file=good&firstname=jwk
(make "your name is an amazing asp.general programmer" mazes.

But when I try this page, with the "bad" file which does not exist, I'm
not succeeding:
http://mazes.com/asp-maze/customized.asp?file=bad&firstname=jwk

I've tried several solutions that I found by googling.

When I tried:
If (ns.FileExists(zfil)<>true) then ...

but even when I give it a valid name, it returns "False"

I've tried using
On Error Resume Next
set nq=ns.OpenTextFile(Server.MapPath(zfil),1,true)
if Err.Number <> 0 Then ...
On Error Goto 0

I have found a workaround. Here is what finally worked:

On Error Resume Next
set nq=ns.OpenTextFile(Server.MapPath(zfil),1,true)
if nq.AtEndOfStream=True Then
zfil=custompath&"customdatadefault.asp"
set nq=ns.OpenTextFile(Server.MapPath(zfil),1,true)
end if

But meanwhile, I'd love to hear how to check for the existence of a
file.

John

Re: How do I check for the existence of a file? by Bob

Bob
Mon Jan 30 10:31:37 CST 2006

You've got the key. You used MapPath to open the file. Why didn't you use it
to check for the file's existence?

If not ns.FileExists(server.mappath(zfil)) then

www.MessageMazes.com wrote:
> Greetings,
>
> I'm experimenting with an ASP page that reads data from a file name
> that is passed to it as a parameter, as in this page, which works,
> because the "good" file exists.
>
> http://mazes.com/asp-maze/customized.asp?file=good&firstname=jwk
> (make "your name is an amazing asp.general programmer" mazes.
>
> But when I try this page, with the "bad" file which does not exist,
> I'm not succeeding:
> http://mazes.com/asp-maze/customized.asp?file=bad&firstname=jwk
>
> I've tried several solutions that I found by googling.
>
> When I tried:
> If (ns.FileExists(zfil)<>true) then ...
>
> but even when I give it a valid name, it returns "False"
>
> I've tried using
> On Error Resume Next
> set nq=ns.OpenTextFile(Server.MapPath(zfil),1,true)
> if Err.Number <> 0 Then ...
> On Error Goto 0
>
> I have found a workaround. Here is what finally worked:
>
> On Error Resume Next
> set nq=ns.OpenTextFile(Server.MapPath(zfil),1,true)
> if nq.AtEndOfStream=True Then
> zfil=custompath&"customdatadefault.asp"
> set nq=ns.OpenTextFile(Server.MapPath(zfil),1,true)
> end if
>
> But meanwhile, I'd love to hear how to check for the existence of a
> file.
>
> John

--
Microsoft MVP -- ASP/ASP.NET
Please reply to the newsgroup. The email account listed in my From
header is my spam trap, so I don't check it very often. You will get a
quicker response by posting to the newsgroup.



Re: How do I check for the existence of a file? by www

www
Mon Jan 30 13:18:37 CST 2006

Thanks, I'll try that.

Just did. It worked, even though I thought it didn't for a second. Had
to read the results twice.

Meanwhile, I figured out why the statement didn't generate an error. I
had:

set nq=ns.OpenTextFile(Server.MapPath(zfil),1,true)

It should have been

set nq=ns.OpenTextFile(Server.MapPath(zfil),1,false)

I had told it to create the file if it didn't already exist, so of
course, it didn't generate an error. Now it does.

Thanks for all the help. This group is wonderful.

John