ホームページ  >  記事  >  バックエンド開発  >  3 日以上前のログ ファイルを削除した後の致命的エラーを解決するにはどうすればよいですか?

3 日以上前のログ ファイルを削除した後の致命的エラーを解決するにはどうすればよいですか?

WBOY
WBOYオリジナル
2016-06-13 13:35:441118ブラウズ

3 日以上経過したログ ファイルを削除する、致命的エラー
PHP がわからないので、指定したディレクトリにある 3 日以上経過したファイル (ログ) を削除する機能を実装したいと考えています。 ディレクトリを削除する機能を見つけました。 Baidu では、次のように

PHP コード
<!--

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

-->
    function del_directory($dir){
        if(!($mydir = @dir($dir))){
            return;
        }
        while($file = $mydir->read()){
            if(is_dir("$dir$file") && $file!='.' && $file!='..'){
                @chmod("$dir$file", 0777);
                del_dir("$dir$file");
            }elseif(is_file("$dir/$file")){
                $file_time=@stat($file);//读取文件的最后更新时间
                if(time() - $file_time > 3600 * 24 * 3){
                    @chmod("$dir/$file", 0777);
                    @unlink("$dir/$file");
                }
            }
        }
        $mydir->close();
        @chmod($dir, 0777);
        @rmdir($dir);
    }

エラー: 致命的エラー: D:wampwwwPlayerplaylogviewer.php の 36 行目でサポートされていないオペランドの種類
は、次のコード行に対応します。 (time() - $file_time > 3600 * 24 * 3)

問題が何であるかを確認してください。ありがとうございます。



-----解決策---------
PHP コード
$stat = @stat($file);
$file_time=$stat['mtime'];//ファイルの最終更新時刻を読み取ります
<br><font color="#e78608">------解決策---------</font><br>致命的なエラー: サポートされていない操作データ型<br>理由は、データ型に準拠していないデータが一部の関数に転送されたためです。配列を関数に渡すのは特に簡単で、この関数が受け入れる必要があるパラメータは数値です。
<br><font color="#e78608">------解決策---------</font><br>if(time() - $file_time > 3600 * 24 * 3)<br>()<br>if((time()-$file_time)>(3600*24*3)){} で区切ろうとしています
<br><font color="#e78608">------解決策---------</font><br>array stat ( string $filename );<br>配列を返します。 <br> $file_time=@stat($file);// ファイルの最終更新時刻を読み取ります<br> if(time() - $file_time > 3600 * 24 * 3){ // ここでは配列が使用されます。 $stat['mtime']<br> <br><br> で stat()<div class="clear"> をチェックします</div>
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。