API15

API15:JPath/find

From Joomla! Documentation

Description

Searches the directory paths for a given file.

[<! removed edit link to red link >]

<! removed transcluded page call, red link never existed >

Syntax

find($paths, $file)
Parameter Name Default Value Description
$paths $path An path or array of path to search in
$file $file The file name to look for.

Returns

mixed The full path and file name for the target file, or boolean false if the file is not found in any of the paths.

Defined in

libraries/joomla/filesystem/path.php

Importing

jimport( 'joomla.filesystem.path' );

Source Body

function find($paths, $file)
{
        settype($paths, 'array'); //force to array

        // start looping through the path set
        foreach ($paths as $path)
        {
                // get the path to the file
                $fullname = $path.DS.$file;

                // is the path based on a stream?
                if (strpos($path, '://') === false)
                {
                        // not a stream, so do a realpath() to avoid directory
                        // traversal attempts on the local file system.
                        $path = realpath($path); // needed for substr() later
                        $fullname = realpath($fullname);
                }

                // the substr() check added to make sure that the realpath()
                // results in a directory registered so that
                // non-registered directores are not accessible via directory
                // traversal attempts.
                if (file_exists($fullname) && substr($fullname, 0, strlen($path)) == $path) {
                        return $fullname;
                }
        }

        // could not find the file in the set of paths
        return false;
}

[<! removed edit link to red link >] <! removed transcluded page call, red link never existed >

Examples

Code Examples