請(qǐng)告訴我,為什么此代碼中會(huì)出現(xiàn)“ Warning: file(...): failed to open stream ”錯(cuò)誤? 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貢獻(xiàn)1884條經(jīng)驗(yàn) 獲得超4個(gè)贊
file命令將整個(gè)文件讀入內(nèi)存。
我認(rèn)為那不是你想要的。
也就是說:您的警告意味著 PHP 無法在該位置找到該文件。流行的原因是:
找不到具有該名稱的文件
文件在那里,但對(duì)于以 PHP 運(yùn)行的用戶來說是不可讀的,通常是 www-data(在 linux/gnu 系統(tǒng)上)或 IUSR(在 ISS 上)。
仔細(xì)檢查你的路徑。也許使用完整路徑。
你的 if/elseif/else 邏輯也讓我很困惑。
鴻蒙傳說
TA貢獻(xiàn)1865條經(jīng)驗(yàn) 獲得超7個(gè)贊
您確定這
users/1/cover_user.png是正確的路徑嗎?您是否具有訪問該文件的讀取權(quán)限?
如果你在 linux 上試試這個(gè)命令:
chmod 0444 path/to/your/file/users/1/cover_user.png
你也可以試試這個(gè):
sudo chown -R www-data:www-data /your/project/path
如果您在 Windows 上,請(qǐng)嘗試從“屬性”對(duì)話框中設(shè)置權(quán)限
- 2 回答
- 0 關(guān)注
- 338 瀏覽
添加回答
舉報(bào)
0/150
提交
取消
