日期:2014-05-17  浏览次数:20367 次

如何做到检测文件是否存在,然后返回一段话
<?php
 $file = 'path/1.txt';
  if (file_exist($file)){
   echo "文件存在";
}
 else
{
  echo "文件不存在"
}

<meta http-equiv="refresh" content="20>
  //每20S刷新一次


?>

 这里实现的效果是 

1.假设文件存在
     显示 :文件存在
  但是一旦刷新就还是几个字
  然后我想要实现的是

  能够让他能够换行在原来的基础上面在输入
  例如  :假设我这里在家一个time函数
        他能够实现功能为
   11:12:13  文件存在
    11:12:33   文件存在 
  11:12:55   文件被删除 。
   有点类似于日志一样的。
  

------解决方案--------------------
刷新当然是全页面刷新的,想接续就用ajax

你这个有点聊天室的意味了
------解决方案--------------------
可以用js,js定时ajax请求后端,判断一下然后返回结果。
------解决方案--------------------
暂时想到一个用session,当然你也可以用js定时ajax请求php。
<?php
session_start();
 $file = 'path/1.txt';

  if (file_exists($file)){
   $_SESSION['info'][]= date('H:i:s')." 文件存在<br>";
}
 else
{
   $_SESSION['info'][]=date('H:i:s')." 文件不存在<br>";
}
echo implode('<br>',$_SESSION['info']);
?>
<meta http-equiv="refresh" content="20">
------解决方案--------------------
楼主怎么描述问题逻辑乱七八糟的。文件不存在到底是显示文件被删除还是文件不存在???

不就是为了hold住每一次文件监测的状态并都能显示出来嘛,把检测文件状态打份log,然后每次从log中把内容读出来。


<meta http-equiv=refresh content="5">
<?php

//日志存放目录,修改成一个在你电脑上存在并且可写的目录
$logpath = '/tmp';

if( !is_writable($logpath) ){
die('日志目录不可写!请change mod!');
}

$logfile = $logpath . '/' . 'check_file_log';
$file = 'path/1.txt';
$time = date('H:i:s');

if(file_exists($file)){
$log = "文件存在<br/>";
}
else{
$log = "文件被删除<br/>";
}

file_put_contents( $logfile, $time . " " . $log, FILE_APPEND );

echo file_get_contents( $logfile );