• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

删除3天以前的日志文件,Fatal error,该怎么解决

php 搞代码 4年前 (2022-01-24) 16次浏览 已收录 0个评论

删除3天以前的日志文件,Fatal error
我不懂PHP,现在想实现一个功能,删除指定目录中三天以前的文件(日志),就在百度上找的一个删除目录的函数,如下

PHP code

<!---ecms 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")){                [email protected]($file);//读取文件的最后更新时间                if(time() - $file_time > 3600 * 24 * 3){                    @chmod("$dir/$file", 0777);                    @unlink("$dir/$file");                }            }        }        $mydir->close();        @chmod($dir, 0777);        @rmdir($dir);    }

报错:Fatal error: Unsupported operand types in D:\wamp\www\Player\playlogviewer.php on line 36
对应的是这一行代码:if(time() – $file_time > 3600 * 24 * 3)

麻烦看看是什么问题,谢谢!

——解决方案——————–

PHP code

$stat = @stat($file);$file_time=$<span>!本文来源gaodai#ma#com搞*!代#%^码网5</span><pre>搞gaodaima代码

stat[‘mtime’];//读取文件的最后更新时间
——解决方案——————–
致命错误:不支持的操作数据类型
产生原因,将不符合数据类型的数据传送给了某些函数。尤其是容易出现在将一个数组传给了一个函数,这个函数应该接受的参数是数字。
——解决方案——————–
if(time() – $file_time > 3600 * 24 * 3)
你把它用()分开试试
if((time()-$file_time)>(3600*24*3)){}
——解决方案——————–
array stat ( string $filename );
返回的是数组。
[email protected]($file);//读取文件的最后更新时间
if(time() – $file_time > 3600 * 24 * 3){ //这里就要用数组的。去查一下stat ()

用 $stat[‘mtime’]


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:删除3天以前的日志文件,Fatal error,该怎么解决
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址