ホームページ  >  記事  >  バックエンド開発  >  データベース内のファイルレコードに基づいてファイルを削除します

データベース内のファイルレコードに基づいてファイルを削除します

WBOY
WBOYオリジナル
2016-07-25 09:11:321169ブラウズ
データベース内のフィールドがフォルダー内のファイルに対応しているかどうかを確認し、一致しない場合はファイルを削除します。これにより、システム リソースの占有が大幅に削減されます。
  1. //作成日 2010-4-24 Wolf 作成 QQ116311316
  2. //機能: データベース内のフィールドがフォルダー内のファイルに対応しているかどうかを判断します。通信
  3. //then ファイルを削除すると、システム リソースの使用量が大幅に削減されます。
  4. //$dirは検索するファイルディレクトリです
  5. //$tableは検索するテーブルです
  6. //$fieldはフィールド名です
  7. //============ ==== ====
  8. function delfile($dir = "",$table,$field){
  9. //ディレクトリ内のファイルを取得
  10. if (is_dir($dir)) {
  11. if ($ dh = opendir($ dir)) {
  12. while (($file = readdir($dh)) !== false) {
  13. if($file!="."&&$file!=".."){
  14. $exit[ ]=$file;}
  15. }
  16. Closedir($dh)
  17. }
  18. }
  19. //データベース内のファイルイメージアドレスを取得します
  20. $sql="select $field from $table" ;
  21. $query=mysql_query ($sql);
  22. while($row=mysql_fetch_array($query)){
  23. $pic[]=$row[pic]
  24. // ここの関数は非常に便利です重要です。array_diff_key は元々使用されていたものです。何か間違っているようです
  25. $result = @array_diff($exit, $pic){
  26. echo "削除するファイルがありません" ;
  27. }
  28. foreach($result as $id=>$values){
  29. echo "システムによって削除されたファイルは ".$values"
    "; dir.$values;
  30. unlink("$file") ;
  31. }
  32. }
  33. ?>
  34. コードをコピーします
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。