PHP读取图书及封面文件生成表格 封面仅输出URL如何显示图片
问题原因
- 原有代码直接把封面URL作为普通文本输出到单元格内,浏览器只会识别为文本内容,需要通过
<img>标签指定src属性为封面链接,才能触发浏览器加载渲染图片。 - 原有代码还存在语法错误:
<table>开头标签未闭合、表头缺少</tr>闭合标签、</table>未绑定print方法无法正常输出,还有多余的无效闭合大括号。
修改方案
- 封面列输出时用
<img>标签包裹封面链接,可额外设置宽高属性限制封面展示尺寸,添加alt属性提升页面可访问性。 - 补全所有HTML标签的闭合语法,修正标签输出位置,新增索引存在性判断避免两个文件行数不一致时出现报错。
修改后完整代码
<?php //加载文件内容,自动忽略每行末尾的换行符 $covers = file("covers.txt", FILE_IGNORE_NEW_LINES); $novels = file("novels.txt", FILE_IGNORE_NEW_LINES); //输出表格头部 print '<table> <tr> <th>Book</th> <th>Cover</th> </tr>'; //遍历输出所有图书条目 foreach($novels as $i=>$novel){ //索引存在性判断,避免封面数组越界报错 $coverUrl = isset($covers[$i]) ? $covers[$i] : ''; $coverContent = $coverUrl ? "<img src=\"{$coverUrl}\" alt=\"{$novel}封面\" width=\"150\">" : '暂无封面'; print "<tr> <td>{$novel}</td> <td>{$coverContent}</td> </tr>"; } //输出表格闭合标签 print '</table>'; ?>
内容的提问来源于stack exchange,提问作者OEGM2002
相关产品推荐
相关产品推荐

