为了账号安全,请及时绑定邮箱和手机立即绑定

为什么会出现“Warning: file(...): failed to open stream”

为什么会出现“Warning: file(...): failed to open stream”

PHP
森栏 2023-03-26 16:27:38
请告诉我,为什么此代码中会出现“ 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 无法在该位置找到该文件。流行的原因是:

  1. 找不到具有该名称的文件

  2. 文件在那里,但对于以 PHP 运行的用户来说是不可读的,通常是 www-data(在 linux/gnu 系统上)或 IUSR(在 ISS 上)。

仔细检查你的路径。也许使用完整路径。

你的 if/elseif/else 逻辑也让我很困惑。


查看完整回答
反对 回复 2023-03-26
?
鸿蒙传说

TA贡献1865条经验 获得超7个赞

  1. 您确定这users/1/cover_user.png是正确的路径吗?

  2. 您是否具有访问该文件的读取权限?

如果你在 linux 上试试这个命令:

chmod 0444 path/to/your/file/users/1/cover_user.png

你也可以试试这个:

sudo chown -R www-data:www-data /your/project/path

如果您在 Windows 上,请尝试从“属性”对话框中设置权限


查看完整回答
反对 回复 2023-03-26
  • 2 回答
  • 0 关注
  • 258 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信