龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > web编程 > php编程 >

php 根据数据库中的文件记录来删除文件

时间:2014-08-16 11:41来源:网络整理 作者:网络 点击:
分享到:
根据数据库中的文件记录来删除文件 判断数据库中的字段与文件夹中的文件是否对应,如果没有对应则删除文件,极大的减少了占用系统资源。[代码片段(67行)]

判断数据库中的字段与文件夹中的文件是否对应,如果没有对应则删除文件,极大的减少了占用系统资源。

<?php 
//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."<br>"; 
$file=$dir.$values; 
unlink("$file"); 

} 

} 

?>
//该片段来自于http://outofmemory.cn
精彩图集

赞助商链接