Heim >Backend-Entwicklung >PHP-Tutorial > 怎么做到检测文件是否存在,然后返回一段话

怎么做到检测文件是否存在,然后返回一段话

WBOY
WBOYOriginal
2016-06-13 12:54:052365Durchsuche

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


  //每20S刷新一次


?>

 这里实现的效果是 

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

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


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

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

  if (file_exists($file)){
   $_SESSION['info'][]= date('H:i:s')." 文件存在
";
}
 else
{
   $_SESSION['info'][]=date('H:i:s')." 文件不存在
";
}
echo implode('
',$_SESSION['info']);
?>

------解决方案--------------------
楼主怎么描述问题逻辑乱七八糟的。文件不存在到底是显示文件被删除还是文件不存在???

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




//日志存放目录,修改成一个在你电脑上存在并且可写的目录
$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 = "文件存在
";
}
else{
$log = "文件被删除
";
}

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

echo file_get_contents( $logfile );
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn