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