You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PHP使用file_get_contents如何判断文件不存在或内容为空

方案选型结论

优先使用第二种判断写法,是三种写法中最严谨无歧义的方案:

if ($file === false || strlen($file) === 0) {
    // 获取失败或内容为空时执行逻辑
}

各写法的优劣对比

  • 第一种写法if ($file == false)
    存在严重的误判风险:PHP的弱类型等于判断会将字符串"0"、数字0等合法非空内容也判定为等同于false,如果你需要下载的文件可能存在内容仅为"0"的场景(比如纯文本配置文件、极小的二进制资源),会把正常文件误判为无效。
  • 第三种写法if ($file === false || empty($file))
    存在和第一种写法相同的误判问题:empty()对字符串"0"的返回值为true,只有当你100%确认所有合法下载的文件内容都不可能等于"0"时,才可以临时使用该写法。
  • 第二种写法if ($file === false || strlen($file) === 0)
    完全匹配你的需求:=== false可以精准捕获file_get_contents请求层面的失败(网络异常、权限不足、DNS解析失败等场景),strlen($file) === 0可以精准匹配返回内容为空的场景(包括你遇到的源站返回200但内容为空的异常),不会对任何合法非空文件产生误判。

内容的提问来源于stack exchange,提问作者user16361980

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 16:36:00