On Wed, Jan 4, 2012 at 5:18 PM, Keloran <ava...@gmail.com> wrote:

> I dont seem to have the karma for doing this in RFC so ill propose it here,
> and once karma make an RFC
>
> Is it possible to have a 2nd option on file_exists so that it returns the
> path you specified
>
> --Example
> $cFile = file_exists("/file/located/here.php", true);
>
> and if that exists it will return
> /file/located/here.php
>
> instead of true
>
> --Reason
> the reason for this is simple actually at the moment if you want to include
> a file for usage but want to check it exists you have todo the following
> if (file_exists("/file/located/here.php")) {
>  $cFile = "/file/located/here.php";
> }
>
> which can if your doing lots of checking alot of extra code for no reason,
> or if you want to use variables, lots of louse variables just for something
> that could be pulled from the request
>

as others mentioned that you can use realpath for that.
However realpath doesn't support resolving against the include path, so
depending on your usecase
http://php.net/manual/en/function.stream-resolve-include-path.php  would be
a better idea.
This still doesn't solve the potential race condition in your example (the
file could have been deleted or moved between your check and the actual
include/open call.

-- 
Ferenc Kovács
@Tyr43l - http://tyrael.hu

Reply via email to