猿问

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

请告诉我,为什么此代码中会出现“ 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';

    }


森栏
浏览 259回答 2
2回答

慕村9548890

file命令将整个文件读入内存。我认为那不是你想要的。也就是说:您的警告意味着 PHP 无法在该位置找到该文件。流行的原因是:找不到具有该名称的文件文件在那里,但对于以 PHP 运行的用户来说是不可读的,通常是 www-data(在 linux/gnu 系统上)或 IUSR(在 ISS 上)。仔细检查你的路径。也许使用完整路径。你的 if/elseif/else 逻辑也让我很困惑。

鸿蒙传说

您确定这users/1/cover_user.png是正确的路径吗?您是否具有访问该文件的读取权限?如果你在 linux 上试试这个命令:chmod&nbsp;0444&nbsp;path/to/your/file/users/1/cover_user.png你也可以试试这个:sudo&nbsp;chown&nbsp;-R&nbsp;www-data:www-data&nbsp;/your/project/path如果您在 Windows 上,请尝试从“属性”对话框中设置权限
随时随地看视频慕课网APP
我要回答