文章转载至http://www.puwei.link/2017/03/22/69.html
<?php /** * Created by PhpStorm. * User: Administrator * Date: 2017/3/22 * Time: 20:07 */ $file_limit = ['png', 'jpg', 'gif', 'bmp', 'exe']; //不需要加密的文件后缀名 $file_limit_s = ['.idea','.','..'];//忽略文件目录 //遍历文件 function traverse($path = '.', $file_limit, $file_limit_s) { if (file_exists($path) == false) { return 0; } $current_dir = opendir($path); //opendir()返回一个目录句柄,失败返回false while (($file = readdir($current_dir)) !== false) { //readdir()返回打开目录句柄中的一个条目 $sub_dir = $path . DIRECTORY_SEPARATOR . $file; //构建子目录路径 if (in_array($file, $file_limit_s)) { continue; } else if (is_dir($sub_dir)) { //如果是目录,进行递归 // echo '这个是目录 ' . $file . ':<br>'; traverse($sub_dir, $file_limit, $file_limit_s); } else { //如果是文件,直接输出 // echo '这个是文件' .dirname(__FILE__). "\\" . $file . '<br>'; $path_file = dirname(__FILE__) . "\\" . $file; // echo '这个是文件' . $path_file . '<br>'; $ex = extend_3($path_file); //忽略后缀名 if (!in_array($ex, $file_limit)) { echo '这个是文件' . dirname(__FILE__) . "\\" . $file . '<br>'; $file_str=dirname(__FILE__) . "\\" . $file ; $str= file_get_contents($file_str); echo md5($str).'<br>'; //这个MD5值可以保存数据,可以写入文件 //在写一个PHP去比对文件有没有修改 } } } return 1; } //获取文件后缀名 function extend_3($file_name) { $extend = explode('.', $file_name); $va = count($extend) - 1; return $extend [$va]; } $aa = traverse('.', $file_limit, $file_limit_s); if ($aa == 0) { echo '目录不存在'; }