我正在开发一个带图片库的网站。我想在一个页面上列出所有图像。所以我写了下面的脚本。
try{
$dsn = 'mysql:host=localhost;dbname=testdatabase';
$conn = new PDO($dsn, 'user', 'xxxx');
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$gallery_select_stmt = $conn->prepare("SELECT image_id FROM images ORDER BY image_id ASC");
$gallery_select_stmt->execute();
while ($row = $gallery_select_stmt->fetch(PDO::FETCH_ASSOC)) {
foreach ($row as $key => $value) {
echo '<div class="imageBox">';
echo '<a href="photo.php?id='.$value.'"><img src="image.php?id='.$value.'&thumb=1"/></a>';
echo '</div>';
}
}
} catch(Exception $ex){
error_log("Issue processing the gallery: ".$ex);
}
我正在测试该网站有6张图片!但第一张图片没有显示。我用Google搜索了问题,并在stackoverflow中发现了一些类似的问题。但他们都没有帮助我!
我遇到的主要问题是当我执行上面的代码替换
时echo '<a href="photo.php?id='.$value.'"><img src="image.php?id='.$value.'&thumb=1"/></a>';
部分用这样的东西
echo '<img src="images/'.$value.'"/></a>';
代码完美无缺。显示所有6个结果。
我必须承认这些图像中的大部分都非常大(在4到12 MB之间变化,但会显示较大的图像)。这是一个记忆问题吗?
答案 0 :(得分:0)
服务器中存在内存问题。当我重新启动Apache并重新运行脚本问题得到解决。 @ N.B。的建议是正确的,图像太大了,无法在阵列中处理。