ホームページ  >  記事  >  バックエンド開発  >  コードが正しいかどうかを確認し、1 か月前のデータとファイルを削除してください。ソリューションのアイデア

コードが正しいかどうかを確認し、1 か月前のデータとファイルを削除してください。ソリューションのアイデア

WBOY
WBOYオリジナル
2016-06-13 13:42:37849ブラウズ

コードが正しいかどうかを確認し、1 か月前のデータとファイルを削除してください。
理論的にはコードは正しいですが、予期せぬことが起こるのが怖いです...
間違ったファイルやデータが削除されたら面白くありません...
専門家の方、確認を手伝っていただけますか?次のコードは正しいですか?

PHP コード
<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

-->
require (dirname(__FILE__) . "/../conn.php");
mysql_select_db("news",$conn_database);
mysql_query("delete from web_news where news_date<(date(now())-60*60*24*30)");
mysql_close($conn_database);
if ($handle = opendir(dirname(__FILE__).'/../cache/')) {
  while (false !== ($file = readdir($handle))) {
      if ((time()-filectime(dirname(__FILE__).'/../cache/'.$file)) < 60*60*24*30) {
         if (strripos($file, '.html') !== false) {
          unlink(dirname(__FILE__).'/../cache/'.$file);
        }
      }
  }
}



-----解決策---------------- - ---
filectime

filemtime

に変更する必要があります。unlink(dirname(__FILE__).'/../cache/'.$file);

$ にコメントアウトできます。 fn = dirname(__FILE__).'/../cache/'.$file;
echo $fn . filemtime($fn);
まず確認してください
------解決策------------------
私はそれを無視しましたが、データベースの
(date(now())-60*60*24*30)

DATE_SUB(now(),INTERVAL 30 DAY)
最初に選択して確認してください
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。