【发布时间】:2023-03-29 02:11:01
【问题描述】:
在 Zend FW 中:
file_exists('xx/xxx/xxxx.jpg');
返回 1,但 xx/xxx/xxxx.jpg 不是文件或目录。
这是 Zend FW 返回的错误页面。因为它不是文件或有效的 url
如何检查文件是否存在?
【问题讨论】:
-
该函数是原生 PHP 函数...尝试在没有 Zend 框架的 PHP 脚本中运行它,看看会发生什么。此外,开头的 / 表示它是从操作系统文件系统的顶部加载的,而不是从服务器 URL 的顶部加载的。
-
还要注意 file_exists() 是缓存的,所以如果文件确实存在,则测试,然后删除,然后再次测试,第二次测试仍将返回 true。
-
可以使用 clearstatcache() 清除缓存:php.net/manual/en/function.clearstatcache.php
-
file_exists() 没有检查 URL,因此您的错误页面与此无关。 (请注意,它可以在 一些 情况下检查 URL,但同样,这不是您在此处所做的。)
-
@thomas-hunter 我编辑我的问题并删除 /
标签: php zend-framework url-rewriting