This filter will resolve given links and pathnames and returns canonicalized absolute pathnames.
The following options are supported for Zend_Filter_RealPath:
exists: This option defaults to
TRUEwhich checks if the given path really exists.
For any given link of pathname its absolute path will be returned.
References to '/./', '/../' and extra
'/' characters in the input path will be stripped. The resulting
path will not have any symbolic link, '/./' or
'/../' character.
Zend_Filter_RealPath will return FALSE on
failure, e.g. if the file does not exist. On BSD systems
Zend_Filter_RealPath doesn't fail if only the last path component
doesn't exist, while other systems will return FALSE.
<?php
$filter = new Zend_Filter_RealPath();
$path = '/www/var/path/../../mypath';
$filtered = $filter->filter($path);
// returns '/www/mypath'
Sometimes it is useful to get also paths when they don't exist, f.e. when you want to
get the real path for a path which you want to create. You can then either give a
FALSE at initiation, or use setExists() to
set it.
<?php
$filter = new Zend_Filter_RealPath(false);
$path = '/www/var/path/../../non/existing/path';
$filtered = $filter->filter($path);
// returns '/www/non/existing/path'
// even when file_exists or realpath would return false




