zoukankan      html  css  js  c++  java
  • clearstatcache

    clearstatcache 

    clearstatcache — 清除文件状态缓存

     void clearstatcache ([ bool $clear_realpath_cache = false [, string $filename ]] ) 

    当使用 stat()lstat() 或者任何列在受影响函数表(见下面)中的函数时,PHP 将缓存这些函数的返回信息以提供更快的性能。然而在某些情况下,你可能想清除被缓存的信息。例如如果在一个脚本中多次检查同一个文件,而该文件在此脚本执行期间有被删除或修改的危险时,你需要清除文件状态缓存。这种情况下,可以用 clearstatcache() 函数来清除被 PHP 缓存的该文件信息。

    必须注意的是,对于不存在的文件,PHP 并不会缓存其信息。所以如果调用 file_exists() 来检查不存在的文件,在该文件没有被创建之前,它都会返回 FALSE。如果该文件被创建了,就算以后被删除,它都会返回 TRUE 函数 unlink() 会自动清除该缓存.

    受影响的函数包括 stat(), lstat(), file_exists(), is_writable(), is_readable(), is_executable(), is_file()is_dir(), 

    is_link(), filectime(), fileatime(), filemtime(), fileinode(), filegroup(), fileowner(), filesize()filetype() , fileperms()

     参数:

    clear_realpath_cache

    是否清除真实路径缓存

    filename

    清除文件名指定的文件的真实路径缓存; 只在 clear_realpath_cache 为 TRUE 时启用

    返回值:

    没有返回值。

     1 <?php
     2 $file = 'output_log.txt';
     3 
     4 function get_owner($file)
     5 {
     6     $stat = stat($file);
     7     $user = posix_getpwuid($stat['uid']);
     8     return $user['name'];
     9 }
    10 
    11 $format = "UID @ %s: %s
    ";
    12 
    13 printf($format, date('r'), get_owner($file));
    14 
    15 chown($file, 'ross');
    16 printf($format, date('r'), get_owner($file));
    17 
    18 clearstatcache();
    19 printf($format, date('r'), get_owner($file));
    20 ?>
    View Code

    输出:

    UID @ Sun, 12 Oct 2008 20:48:28 +0100: root
    UID @ Sun, 12 Oct 2008 20:48:28 +0100: root
    UID @ Sun, 12 Oct 2008 20:48:28 +0100: ross
    

      

    get ! : )
     
  • 相关阅读:
    搭建Android开发环境(linux x86_64)
    prisoner of love
    今天火箭和太阳打架了?
    归途,奋斗的起点
    年轻的希望
    老师:节日快乐!
    今天是我的生日吗?
    我亲爱的弟弟
    我的08,期盼09
    只是向往
  • 原文地址:https://www.cnblogs.com/xiaohaillong/p/5817128.html
Copyright © 2011-2022 走看看