请告诉我,为什么此代码中会出现“ Warning: file(...): failed to open stream ”错误? if (file("users/1/cover_user.png")) { echo '<img data-src="users/1/cover_user.png" uk-img>'; } elseif (file("users/1/cover_user.jpg")) { echo '<img data-src="users/1/cover_user.jpg" alt="" uk-img>'; } else { echo 'error'; }
2 回答
慕村9548890
TA贡献1884条经验 获得超4个赞
file命令将整个文件读入内存。
我认为那不是你想要的。
也就是说:您的警告意味着 PHP 无法在该位置找到该文件。流行的原因是:
找不到具有该名称的文件
文件在那里,但对于以 PHP 运行的用户来说是不可读的,通常是 www-data(在 linux/gnu 系统上)或 IUSR(在 ISS 上)。
仔细检查你的路径。也许使用完整路径。
你的 if/elseif/else 逻辑也让我很困惑。
鸿蒙传说
TA贡献1865条经验 获得超7个赞
您确定这
users/1/cover_user.png
是正确的路径吗?您是否具有访问该文件的读取权限?
如果你在 linux 上试试这个命令:
chmod 0444 path/to/your/file/users/1/cover_user.png
你也可以试试这个:
sudo chown -R www-data:www-data /your/project/path
如果您在 Windows 上,请尝试从“属性”对话框中设置权限
- 2 回答
- 0 关注
- 258 浏览
添加回答
举报
0/150
提交
取消