<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> <li>//则删除文件,极大的减少了占用系统资源。 </li> <li>//$dir 是要查找的文件目录 </li> <li> <li>//$table 为查找的表 </li> <li> <li>//$field 为字段名 </li> <li> <li>//==================== </li> <li> <li>function delfile($dir = "",$table,$field){ </li> <li> <li>//获取目录下的文件 </li> <li>if (is_dir($dir)) { </li> <li> if ($dh = opendir($dir)) { </li> <li> while (($file = readdir($dh)) !== false) { </li> <li> <li> if($file!="."&&$file!=".."){ </li> <li> <li> $exit[]=$file;} </li> <li> <li> } </li> <li> closedir($dh); </li> <li> } </li> <li>} </li> <li> <li> <li>//获取数据库中的文件 图片地址 </li> <li>$sql="select $field from $table"; </li> <li>$query=mysql_query($sql); </li> <li> <li>while($row=mysql_fetch_array($query)){ </li> <li> <li> <li> $pic[]=$row[pic]; </li> <li>} </li> <li> <li>//这里的函数很重要啊 array_diff_key 本来是使用这个 好像有点问题 </li> <li>$result = @array_diff($exit, $pic); </li> <li> <li> <li>if($result==null){ </li> <li> <li> echo "你没有文件要删除"; </li> <li> <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>