You are here: Re: Regular expression for check that an entered filename is valid « PHP Programming Language « IT news, forums, messages
Re: Regular expression for check that an entered filename is valid

Posted by C. (http://symcbean.blogspot.com/) on 12/19/07 17:21

On 19 Dec, 16:51, "Steve" <no....@example.com> wrote:
> "Toby A Inkster" <usenet200...@tobyinkster.co.uk> wrote in messagenews:hoqn35-hv3.ln1@ophelia.g5n.co.uk...
>
>
>
> > 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.

 

Navigation:

[Reply to this message]


Удаленная работа для программистов  •  Как заработать на Google AdSense  •  England, UK  •  статьи на английском  •  PHP MySQL CMS Apache Oscommerce  •  Online Business Knowledge Base  •  DVD MP3 AVI MP4 players codecs conversion help
Home  •  Search  •  Site Map  •  Set as Homepage  •  Add to Favourites

Copyright © 2005-2006 Powered by Custom PHP Programming

Сайт изготовлен в Студии Валентина Петручека
изготовление и поддержка веб-сайтов, разработка программного обеспечения, поисковая оптимизация