遍历文件夹


/**
 * 计算签名
 * @param string $dir 路径
 * @param $len 起始路径长度
 * @param &array $retArr 返回数组
*/
function __calcSign($dir, $len, &$retArr) {
        $dh = opendir($dir);
        if (!$dh) {
            return;
        }
        while (($file = readdir($dh)) !== false) {
            if ($file === '.' || $file === '..' || $file === '.svn') {
                continue;
            }
            $filename = $dir . DIRECTORY_SEPARATOR . $file;
            if (is_dir($filename)) {
                call_user_func_array(__FUNCTION__, array($filename, $len, &$retArr));
                continue;
            }
            $reletiveFilename = substr($filename, $len);
            $retArr[$reletiveFilename] = md5_file($filename);
        }
        closedir($dh);
    }

   


你可能感兴趣的:(PHP,文件夹遍历)