问题描述:需要生成一个 700k 大小左右的文件,相关代码如下:

<?php$handle = fopen('./split.log', 'a+');$result = 0;while( $result <= 700*1024) {for($number = 0; $number <= 10; $number++) {fwrite($handle, "{$number}\t");}   fwrite($handle, "\n");$result = filesize('./split.log');echo $result,"\n";sleep(2);}   fclose($handle);
?>

但是发现文件的大小一直不变,输出如下:

问题原因:

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

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()。

详细信息可以查询  php 官方文档对于  clearstatcache() 方法的说明,链接为:http://www.php.net/manual/zh/function.clearstatcache.php

转载于:https://www.cnblogs.com/smallrookie/p/7211348.html

php filesize() 方法返回的文件大小异常相关推荐

  1. atitit.架构设计---方法调用结果使用异常还是返回值

    atitit.架构设计---方法调用结果使用异常还是返回值 1. 应该返回BOOL类型还是异常 1 2. 最终会有四种状况,抛出异常.返回特殊值.阻塞.超时 1 3. 异常的优缺点点 1 4. jav ...

  2. spring aop如何在切面类中获取切入点相关方法的参数、方法名、返回值、异常等信息

    aop思想可以很好的帮助我们实现代码的解耦,比如我们之前提到的,将日志代码与业务层代码完全独立,通过spring aop的代理类进行整合.在切面类中,我们也能够通过spring提供的接口,很好的获取原 ...

  3. java sleep不能使用_java无主窗口GUI程序主线程不能调用sleep(long)方法,会产生异常...

    java无主窗口GUI程序主线程不能调用sleep(long)方法,会产生异常. public class fxframe{ public static void main(String[] args ...

  4. java方法带参数返回值_Java方法中的参数太多,第6部分:方法返回

    java方法带参数返回值 在当前的系列文章中,我正在致力于减少调用Java方法和构造函数所需的参数数量,到目前为止,我一直专注于直接影响参数本身的方法( 自定义类型 , 参数对象 , 构建器模式 , ...

  5. Java方法中的参数太多,第6部分:方法返回

    在当前的系列文章中,我正在致力于减少调用Java方法和构造函数所需的参数数量,到目前为止,我一直专注于直接影响参数本身的方法( 自定义类型 , 参数对象 , 构建器模式 , 方法重载和方法命名 ). ...

  6. 如何循环遍历document.querySelectorAll()方法返回的结果

    使用JavaScript的forEach方法,我们可以轻松的循环一个数组,但如果你认为document.querySelectorAll()方法返回的应该是个数组,而使用forEach循环它: /* ...

  7. Android程序捕获未处理异常,处理与第三方方法冲突时的异常传递

    自己的android程序对异常进行了处理,用的也是网上比较流行的CrashHandler,代码如下,就是出现了未处理的异常程序退出,并收集收集设备信息和错误信息仪器保存到SD卡,这里没有上传到服务器. ...

  8. java delete方法返回值_boolean delete()

    boolean delete() 描述 (Description) java.io.File.delete()方法删除由抽象路径名定义的文件或目录. 要删除目录,该目录必须为空. 声明 (Declar ...

  9. springboot接口返回封装与异常控制

    首先,返回有两个状态,status和code status标识response的状态,有2个值:0成功,-1服务错误. code跟业务有关,可以有各种数值,99999服务未知异常,10000参数异常, ...

最新文章

  1. Android/Java 单例使用总结
  2. CentOS之——CentOS7安装iptables防火墙
  3. 客户端验证不能代表服务器端验证
  4. C#和nodejs的互操作
  5. 用贪心算法解决马踏棋盘问题
  6. Markdown 语法说明
  7. 机器人滚边有波浪_汽车开启件机器人滚边缺陷分析与调整
  8. 【Python基础】Python 面向对象编程(上篇)
  9. db2有主键时默认hash分区_彻底搞懂 MySQL 分区!
  10. [html] 你有使用过output标签吗?说说它的用途有哪些?
  11. 双向(端)链表、栈、队列
  12. c语言c程序由函数构成 每个函数完成相对独立的功能,17秋学期(1709)《C语言程序设计》在线作业  满分...
  13. You are here: Prof Andrew Binley's Homepage R3t
  14. vue 通信PHP,Vue组件通信(详细教程)
  15. 微信小程序项目源代码SSM校园生活小助手+后台
  16. lvgl 笔记(3)-中文字库的制作和使用(windows模拟和esp32)
  17. netperf测试内网网络性能
  18. 计算机视觉的专家和网站
  19. 彻底关闭 wps 热点广告
  20. 激光发生器的防浪涌防静电保护

热门文章

  1. vue获取url中ip_Kubernetes 集群中这样获取客户端真实 IP
  2. qtcreator 用cmake找不到userPath的解决方法
  3. matlab中cuda编程中分配grid和block dimension的时候的注意事项
  4. 无法解析的外部符号 __imp__glewinit
  5. 托管系统的mysql设计_PHP+MySQL托管中心管理系统的设计与实现
  6. “技术需求”与“技术成果”项目之间关联度计算模型 复赛top1解决方案
  7. 大学英语 计算机应用基础,计算机应用基础-大学英语b.doc
  8. vue 左右循环滑动_vue实现无缝滚动循环
  9. python交互模式什么意思_python交互模式是什么
  10. 统计学习方法 第八章总结