if(file_exists($file) && ((time() - date('U',@filemtime($file))) < $cachetime) && (filesize($file)>1024)){
@file_put_contents('taobaocache/a.txt',1);
}else{
@file_put_contents('taobaocache/b.txt',1);
}
为什么if和else里面的内容都执行呀

解决方案 »

  1.   

    而且如果我把
    && (filesize($file)>1024
    去掉,就没问题了,这到底为啥
      

  2.   


    if(file_exists($file) && ((time() - date('U',@filemtime($file))) < $cachetime) && (filesize($file)>1024)){
    die("file-->>a");
    @file_put_contents('taobaocache/a.txt',1);
    }else{
    die("file-->>b");
    @file_put_contents('taobaocache/b.txt',1);
    }你试下输出哪个?
      

  3.   

    那就说明
    (file_exists($file) && ((time() - date('U',@filemtime($file))) < $cachetime) && (filesize($file)>1024))
    没有符合上面的条件,所以没输出。
    去掉&& (filesize($file)>1024)又输出什么呢?
      

  4.   


    去掉后就输出了a.txt 和b.txt 两个文件,而实际上,应该只输出一个文件啊
      

  5.   


    说错了,去掉就正常了,或者输出a.txt 或者输出b.txt
      

  6.   

    程序里是不是有其他地方执行了输出你没注意呢,if 和else不可能都执行的
      

  7.   

    这说明你的$file文件大小没有超过1024字节,换个大文件试试吧