# RealPath

This filter will resolve given links and pathnames and returns canonicalized absolute pathnames. 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`.

    $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.

    $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