我一直在尝试创建列出我网站上所有可能类别的类别页面。我使用数据库存储我的类别列表和所有图像。
数据库结构:
表:类别
列:ID,名称,描述,图标
数据:1,类别,类别说明,http://example.com/icon.png
使用我的循环浏览所有类别并从图标列中提取图像时。
我使用这些行来创建我的类别:
<?php $categories = $core->cat(); foreach($categories as $key=>$val) { ?>
<div class="col-md-6 matchHeight">
<a href="<?php $core->_siteRoot;?>/categories/<?php echo $val['name']; ?>" style="color: black; text-decoration: none;">
<div class="well m1 emp category">
<div class="media">
<div class="media-left media-middle">
<img class="media-object" src="<?php echo $val['icon']; ?>" alt="<?php echo $val['name']; ?> Category Picture" width="128">
</div>
<div class="media-body">
<h1><?php echo $val['name']; ?></h1>
<p>
<?php echo $val['description']; ?>
</p>
</div>
</div>
</div>
</a>
</div>
<?php } ?>
打开Chrome开发工具,我看到控制台说附加了图片时出错:
无法加载资源:服务器响应状态为508(检测到环路)
我联系了主持人,看看是否有资源限制,但他们回复说没有我的计划。
修改
我有一个PHP图像系统从我的数据库中提取blob对象
if(isset($_GET['q'])) {
$req = $core->picture($_GET['q']);
switch( explode('.', $req[0])[1] ) {
case "gif":
$ctype="image/gif"; break;
case "png":
$ctype="image/png"; break;
case "jpeg":
case "jpg":
$ctype="image/jpeg"; break;
default:
}
header('Content-type: ' . $ctype);
print_r($req[1]);
}