我有一个非常奇怪的问题file_exists()。我正在使用此功能来检查同一文件夹中是否存在2个不同的文件。我仔细检查过,他们都存在。file_exists()返回false,但该文件存在
echo $relative . $url['path'] . '/' . $path['filename'] . '.jpg';
Result: ../../images/example/001-001.jpg
echo $relative . $url['path'] . '/' . $path['filename'] . '.' . $path['extension'];
Result: ../../images/example/001-001.PNG
现在让我们使用file_exists()这些:
var_dump(file_exists($relative . $url['path'] . '/' . $path['filename'] . '.jpg'));
Result: bool(false)
var_dump(file_exists($relative . $url['path'] . '/' . $path['filename'] . '.' . $path['extension']));
Result: bool(true)
我不明白这一点 - 这两个文件确实存在。我正在运行Windows,因此它与大小写敏感问题无关。安全模式关闭。
可能值得一提的是,用户通过FTP上传.png,而使用脚本创建.jpg。但据我所知,这不应该有所作为。
任何提示?
谢谢
一个字:权限。 –
对我来说,它最终成为因为它需要一个绝对路径,而不是相对路径。一些PHP函数接受相对于当前文件的路径,一个是parse_ini_file。 –