This returns fullpath to the file
function rsearch($folder, $pattern) { $iti = new RecursiveDirectoryIterator($folder); foreach(new RecursiveIteratorIterator($iti) as $file){ if(strpos($file , $pattern) !== false){ return $file; } } return false; } call the function:
$filepath = rsearch('/home/directory/thisdir/', "/findthisfile.jpg"); And this is returns like:
/home/directory/thisdir/subdir/findthisfile.jpg
You can improve this function to find several files like all jpeg file:
function rsearch($folder, $pattern_array) { $return = array(); $iti = new RecursiveDirectoryIterator($folder); foreach(new RecursiveIteratorIterator($iti) as $file){ if (in_array(strtolower(array_pop(explode('.', $file))), $pattern_array)){ $return[] = $file; } } return $return; } This can call as:
$filepaths = rsearch('/home/directory/thisdir/', array('jpeg', 'jpg') ); Ref: http://stackoverflow.com/a/1860417/219112https://stackoverflow.com/a/1860417/219112