我有这个PHP代码应该显示来自MySQL数据库的一些BLOB图像:
<?php
while ($articulo = mysql_fetch_array($resultados))
{
?>
<div class="categoria">
<a href="catalogo.php?categoria_serial=<?php echo $articulo['categoria_serial'];?>">
<img src="imagenCategoria.php?categoria_serial=<?php echo $articulo['categoria_serial'];?>&ancho=280" alt="">
</a>
<div class="descripcion">
<p><?php echo $articulo['categoria_nombre'];?></p>
</div>
</div>
<?php
}
?>
问题是,并非每个图像都显示在页面中。一些图像随机加载。如果我刷新页面,会出现一些丢失的图像,但是一些正确的图像会消失。
这是每张图片的代码:
<?php
include 'controller/_init.php';
$db = conectar();
$desired_width = $_GET["ancho"];;
$categoria_serial = $_GET["categoria_serial"];
$resultados = mysql_query("SELECT categoria_imagen FROM categoria WHERE categoria_serial = $categoria_serial") or die("Error");
$articulo=mysql_fetch_array($resultados);
$im = imagecreatefromstring($articulo['categoria_imagen']);
$x = imagesx($im);
$y = imagesy($im);
$desired_height = $desired_width*$y/$x;
$new = imagecreatetruecolor($desired_width, $desired_height);
imagecopyresampled($new, $im, 0, 0, 0, 0, $desired_width,$desired_height, $x, $y);
imagedestroy($im);
header('Content-type: image/jpeg');
imagejpeg($new, null, 85);
exit;
?>
有任何线索吗?非常感谢你。
答案 0 :(得分:1)
可能是内存问题 - 为刷新时创建每个图像分配内存......这是一种非常糟糕的做法。
您可以尝试将图像保存到某处或至少缓存它们,这样您就不必在每次刷新时都使用创建图像的所有步骤。