根据数据库中的文件记录来删除文件
时间:2021-07-01 10:21:17
帮助过:15人阅读
判断数据库中的字段与文件夹中的文件是否对应,如果没有对应则删除文件,极大的减少了占用系统资源。
- //Created on 2010-4-24 Made by Wolf QQ116311316
- //作用:是判断数据库中的字段与文件夹中的文件是否对应,如果没有对应
- //则删除文件,极大的减少了占用系统资源。
- //$dir 是要查找的文件目录
- //$table 为查找的表
- //$field 为字段名
- //====================
- function delfile($dir = "",$table,$field){
- //获取目录下的文件
- if (is_dir($dir)) {
- if ($dh = opendir($dir)) {
- while (($file = readdir($dh)) !== false) {
- if($file!="."&&$file!=".."){
- $exit[]=$file;}
- }
- closedir($dh);
- }
- }
- //获取数据库中的文件 图片地址
- $sql="select $field from $table";
- $query=mysql_query($sql);
- while($row=mysql_fetch_array($query)){
- $pic[]=$row[pic];
- }
- //这里的函数很重要啊 array_diff_key 本来是使用这个 好像有点问题
- $result = @array_diff($exit, $pic);
- if($result==null){
- echo "你没有文件要删除";
- }
- foreach($result as $id=>$values){
- echo "系统删除的文件为".$values."
"; - $file=$dir.$values;
- unlink("$file");
- }
- }
- ?>
|