Re: validating directory and file name with preg_match

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



""Frank Stanovcak"" <blindspotpro@xxxxxxxxxxx> wrote in message 
news:A8.D6.08436.5CF80894@xxxxxxxxxxxxxxx
> I'm limiting access to certain proceedures based on the file trying to use 
> them, and the directory they are located in on my server.  Right now I am 
> using two preg_match statments as you will see.  What I want to know is 
> this.  Is there a way to write a single regex for this that will supply 
> the file name as a match, and only return if the directory is valid?
>
> ------------
> //make sure we are calling from the propper directory, and get the file 
> name that included to determine
> //database access needs
> preg_match('#^C:\\\\Inetpub\\\\wwwroot\\\\folder\\\\(entry|edit)\\\\(\w*\\.(php|pdf))#i', 
> $included_files[0], $check1);
> preg_match('#^C:\\\\Inetpub\\\\wwwroot\\\\folder\\\\(\w*\\.(php|pdf))#i', 
> $included_files[0], $check2);
> if(isset($check1)){
> if(is_array($check1)){
>  $matches[4] = $check1[2];
> };
> unset($check1);
> };
> if(isset($check2)){
> if(is_array($check2)){
>  $matches[4] = $check2[1];
> };
> unset($check2);
> };
> if(isset($matches[4]){
> more code here
> };
>

------Then Robyn Sed------
Looks like the difference between the 2 patterns is the
'(entry|edit)\\\\' part -- couldn't you make that optional and combine
it into one expression? Ie,  '((entry|edit)\\\\)*'

As for returning the filename, basename() is your friend.

R
------end------

I would use basename, but I want only the two file types specified to 
trigger a return.  They are the only two valid php types on this server.

Your suggestion worked like a charm!  Thank you very much!

Frank 



-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php


[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux