請告訴我,為什么此代碼中會出現“ 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 關注
- 308 瀏覽
添加回答
舉報
0/150
提交
取消