ecshop校验文件生成MD5文件的代码
define('ROOT_PATH', str_replace(basename( __FILE__), '', str_replace('//', '/', __FILE__)));
ini_set('max_execution_time', '300');
checkfiles('./', '/.php', 0);
checkfiles('admin/', '/.php|/.htm|/.js|/.css|/xml');
checkfiles('api/', '/.php');
checkfiles('includes/', '/.php|/.html|/.js',1,'fckeditor'); //fck不检查
checkfiles('js/', '/.js|/.css');
checkfiles('languages/', '/.php');
checkfiles('plugins/', '/.php');
checkfiles('wap/', '/.php|/.wml');
/*
checkfiles('themes/default/', '/.dwt|/.lbi|/.css'); //模板
checkfiles('uc_client/', '/.php', 0);
checkfiles('uc_client/control/', '/.php');
checkfiles('uc_client/model/', '/.php');
checkfiles('uc_client/lib/', '/.php');
*/
file_put_contents('./admin/ecshopfiles.md5',$md5str); //保存文件校验信息
echo "MD5文件生成完成";
/**检查文件
* @param string $currentdir //待检查目录
* @param string $ext //待检查的文件类型
* @param int $sub //是否检查子目录
* @param string $skip //不检查的目录或文件
*/
function checkfiles($currentdir, $ext = '', $sub = 1, $skip = '')
{
global $md5data, $md5str;
$dir = @opendir(ROOT_PATH.$currentdir);
$exts = '/('.$ext.')$/i';
$skips = explode(',', $skip);
while($entry = @readdir($dir))
{
$file = $currentdir.$entry;
if($entry != '.' && $entry != '..' && $entry != '.svn' && (preg_match($exts, $entry) || $sub && is_dir($file)) && !in_array($entry, $skips))
{
if($sub && is_dir($file))
{
checkfiles($file.'/', $ext, $sub, $skip);
}
else
{
if($file != './md5.php')
{
$md5data[$file] = md5_file($file);
$md5str .= md5_file($file).' *'.$file."/r/n";
}
}
}
}
}
新闻热点
疑难解答