Re: Regular expression for check that an entered filename is valid
- From: "C. (http://symcbean.blogspot.com/)" <colin.mckinnon@xxxxxxxxx>
- Date: Wed, 19 Dec 2007 09:21:55 -0800 (PST)
On 19 Dec, 16:51, "Steve" <no....@xxxxxxxxxxx> wrote:
"Toby A Inkster" <usenet200...@xxxxxxxxxxxxxxxxx> wrote in messagenews:hoqn35-hv3.ln1@xxxxxxxxxxxxxxxxxxxx
Captain Paralytic wrote:
How do you define a valid filename?
Good question. As far as I know, for Linux and most UNIXy OSes it's this:
#[^/]#
i.e. any string that doesn't contain a slash is a valid filename. (Because
of course, the slash must be a directory separator.) Any other character
is valid in a file name -- asterisks, question marks, colons, tabs, line
feeds, whatever. Names "." and ".." are technically allowed, but they
always already exist.
It does depend on the filesystem though. Linux supports dozens of
different filesystems and some of those will limit you further.
Windows is a more fussy. As well as slashes, it doesn't allow colons,
backslashes, asterisks, question marks, whitespace other than the space
character itself, less-than and greater-than signs, double quotes and the
pipe symbol. There are also a small number of reserved file names that
cannot be created, such as "CON", "PRN", "CLOCK$" and "LPT1" -- these
special filenames were used to represent various hardware devices in DOS.
with the exception of CLOCK$ on win >= xp, you're exactly right...and i'm
glad i'm not the only one geeky enough to know that. :^)
Actually, you can create these files using some programming languages
- and get up to all sorts of mischief as a result (not least because
MS Windows doesn't let you delete them)
I'd go with is_writeable(realpath($filename)) (of course that doesn't
stop people writing files where they shouldn't.
C.
C.
.
- References:
- Regular expression for check that an entered filename is valid
- From: bizt
- Re: Regular expression for check that an entered filename is valid
- From: Captain Paralytic
- Re: Regular expression for check that an entered filename is valid
- From: Toby A Inkster
- Re: Regular expression for check that an entered filename is valid
- From: Steve
- Regular expression for check that an entered filename is valid
- Prev by Date: Re: PHP5 and class inheritance question
- Next by Date: Re: Would you stop for a moment?!
- Previous by thread: Re: Regular expression for check that an entered filename is valid
- Next by thread: PDO: determining if a transaction is active
- Index(es):
Relevant Pages
|