加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHP file_exists()在某些文件上返回false

发布时间:2020-12-13 18:08:31 所属栏目:PHP教程 来源:网络整理
导读:我在 Linux服务器上的file_exists() PHP函数遇到了一个奇怪的问题. 在编辑图像之前使用file_exists检查图像是否在服务器上时,它有时会因为没有明显原因而失败.文件路径是绝对的,我通过ssh检查它们在指定的路径上是100%. file_exists()失败的图像仍将显示在
我在 Linux服务器上的file_exists() PHP函数遇到了一个奇怪的问题.

在编辑图像之前使用file_exists检查图像是否在服务器上时,它有时会因为没有明显原因而失败.文件路径是绝对的,我通过ssh检查它们在指定的路径上是100%.

file_exists()失败的图像仍将显示在浏览器中.代码与基本的var_dump没有区别(file_exists(‘/ home / user / path / image.jpg’));将返回false.

所有图像和父目录上的文件权限/所有权完全相同.安全模式已关闭.没有PHP错误.我现在很难过,不知道该找什么.

以下是图像在服务器上的方式:

/home/user/public_html/images/location/1.jpg -- will work
/home/user/public_html/images/location2/1.jpg -- won't work
/home/user/public_html/images/location2/2.jpg -- will work

我有权访问服务器,所以如果有人有任何想法我会很乐意尝试它们.

在此先感谢您的建议,如果您需要额外的信息,请告诉我.

编辑:
要回答以下评论中的问题.

>是的,图像在那里,它绝对不是缓存.
>安全模式已关闭(我在帖子中已经提到过).
>路径不是符号链接,而是指向服务器上文件位置的直接链接.
>凤凰,这是一致的.工作文件将始终有效,反之亦然.名字是1.jpg,1.thumb.jpg等等,所以这不是奇怪的字符或空格的问题.

[root@server ~]# ls -l /home/user/public_html/images/Hawkhurst/
total 92
-rwxr-xr-x  1 user user 24501 Aug 11  2009 1.jpg
-rwxr-xr-x  1 user user  1672 Aug 11  2009 1.thumb.jpg
-rwxr-xr-x  1 user user 14983 Aug 11  2009 2.jpg
-rwxr-xr-x  1 user user  1370 Aug 11  2009 2.thumb.jpg
-rwxr-xr-x  1 user user 17238 Aug 11  2009 3.jpg
-rwxr-xr-x  1 user user  1453 Aug 11  2009 3.thumb.jpg
-rwxr-xr-x  1 user user 14168 Aug 11  2009 4.jpg
-rwxr-xr-x  1 user user  1464 Aug 11  2009 4.thumb.jpg 
[root@server ~]#

我已尝试使用权限777和755,这没有任何区别.例如,在这个文件夹中,1和2可以工作,而3& 4不要……

我跑了一个快速测试,看看apache / php运行的是什么,他们确实运行为无人,但这并不能解释为什么有些图像有效,有些图片没有完全相同的权限.

编辑2:问题解决了.无法相信它是多么愚蠢,从数据库调用的一些文件名最后都有空格……无论是谁制作原始脚本都没有在保存之前进行任何清理.

尝试运行ls -l / home / user / public_html / images / location /并将输出添加到您的问题中.

这很可能是一个权限问题. PHP可能没有对该文件的读访问权限.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读