如何用HTML+PHP显示图片?$_SERVER['DOCUMENT_ROOT']拼接路径图片不显示怎么处理
问题根因
你代码的核心错误是混淆了服务器端文件系统路径和浏览器端Web访问路径的概念:
$_SERVER['DOCUMENT_ROOT']获取的是服务器本地的文件系统根路径(例如Linux下的/var/www/html、Windows下的C:/xxx/wwwroot),仅用于服务器端程序读写本地文件,不能直接放到img的src属性中。浏览器拿到该路径后无法映射到服务器上的对应资源,自然无法加载图片。
修复方案
如果你的Romeo/Yoomak/pix/Logo9.png文件直接存放在站点根目录下,直接使用站点绝对路径即可,正确代码如下:
<img src="/Romeo/Yoomak/pix/Logo9.png" width="200" height="200" alt="Logo"/>
如果需要用PHP动态拼接路径,可以改为读取站点根URL常量,或者直接输出Web路径即可,无需拼接$_SERVER['DOCUMENT_ROOT']。
通用排查步骤
- 右键页面无法显示的裂图,选择「复制图片链接」,粘贴到浏览器地址栏查看实际生成的路径是否符合Web路径规则:如果路径中出现服务器本地文件系统前缀,说明路径拼接逻辑错误。
- 手动拼接图片的Web访问地址(格式为
你的站点域名/Romeo/Yoomak/pix/Logo9.png)直接访问,确认是否可以正常打开:- 若无法打开,检查对应路径下文件是否真实存在、文件权限是否开放了Web服务的读取权限、文件名大小写是否和实际一致(Linux服务器大小写敏感)
- 若可以正常打开,对比手动拼接的地址和页面生成的图片地址差异,修正PHP的路径输出逻辑即可。
内容的提问来源于stack exchange,提问作者Ahmus
相关产品推荐
相关产品推荐

