PhpRiot
Become Zend Certified

Prepare for the ZCE exam using our quizzes (web or iPad/iPhone). More info...


When you're ready get 7.5% off your exam voucher using voucher CJQNOV23 at the Zend Store

RealPath

This filter will resolve given links and pathnames and returns canonicalized absolute pathnames.

Supported options for Zend_Filter_RealPath

The following options are supported for Zend_Filter_RealPath:

  • exists: This option defaults to TRUE which checks if the given path really exists.

Basic usage

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'

Non existing paths

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

Zend Framework