<table cellspacing="0" cellpadding="0"><tr><td class="t_f" id="postmessage_14780"> 判断数据库中的字段与文件夹中的文件是否对应,如果没有对应则删除文件,极大的减少了占用系统资源。 <div class="blockcode"> <div id="code_a0L"><ol> <li><?php <li>//Created on 2010-4-24 Made by Wolf QQ116311316 <li><li>//作用:是判断数据库中的字段与文件夹中的文件是否对应,如果没有对应<li>//则删除文件,极大的减少了占用系统资源。 <li>//$dir 是要查找的文件目录 <li><li>//$table 为查找的表 <li><li>//$field 为字段名 <li><li>//==================== <li><li>function delfile($dir = "",$table,$field){ <li><li>//获取目录下的文件 <li>if (is_dir($dir)) { <li> if ($dh = opendir($dir)) { <li> while (($file = readdir($dh)) !== false) { <li><li> if($file!="."&&$file!=".."){ <li><li> $exit[]=$file;} <li><li> } <li> closedir($dh); <li> } <li>} <li><li><li>//获取数据库中的文件 图片地址 <li>$sql="select $field from $table"; <li>$query=mysql_query($sql); <li><li>while($row=mysql_fetch_array($query)){ <li><li><li> $pic[]=$row[pic]; <li>} <li><li>//这里的函数很重要啊 array_diff_key 本来是使用这个 好像有点问题 <li>$result = @array_diff($exit, $pic); <li><li><li>if($result==null){ <li><li> echo "你没有文件要删除"; <li><li>} <li><li><li>foreach($result as $id=>$values){ </li> <li> <li> <li>echo "系统删除的文件为".$values."<br>"; </li> <li>$file=$dir.$values; </li> <li>unlink("$file"); </li> <li> <li> <li>} </li> <li> <li> <li> <li>} </li> <li> <li>?></li> </ol></div> <em onclick="copycode($('code_a0L'));">复制代码</em> </div> </td></tr></table> <div id="comment_14780" class="cm"> </div> <div id="post_rate_div_14780"></div> <br><br>