On Thu, May 23, 2002 at 11:23:42AM -0400, Analysis & Solutions wrote: > On Thu, May 23, 2002 at 11:22:28PM +1000, daniel wrote: > > dir=../../../../ it will show you the root dir of the server , how can i > > Before passing the $Dir variable to the file functions, clean it up... > > $Dir = preg_replace('/..\//', '', $Dir); ------------------------------------------------
The initial poster just wrote me off list with a follow up question. Here's my reply.... Hi: > $dir = preg_replace('/..\//', '', $dir); Hmm. I must have been tired when I wrote that. "." matches any character. Thus "..\/" will match any two characters before a "/". I should have escaped the periods. That should have been $dir = preg_replace('/\.\.\//', '', $dir); Sorry. Now, you are also attempting to strip ".." via a whole separate regex. > $dir = preg_replace('..', '', $dir); First, that expression isn't encapsulated in the "/" delimiters, thus it's an invalid preg expression. Second, as in my first regex, you didn't escape the "." Third, you can do it in the initial expression. $dir = preg_replace('/\.\.\/?/', '', $dir); That translates to find any string that has two periods and maybe one forward slash. Enjoy, --Dan -- PHP classes that make web design easier SQL Solution | Layout Solution | Form Solution sqlsolution.info | layoutsolution.info | formsolution.info T H E A N A L Y S I S A N D S O L U T I O N S C O M P A N Y 4015 7 Av #4AJ, Brooklyn NY v: 718-854-0335 f: 718-854-0409 -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php