从一系列图像中打印UL

时间:2009-11-27 11:42:23

标签: php

我正在尝试打印以特定文件夹返回的_th.jpg结尾的UL图像列表。我得到的全部是array()

<?php
require '../../config.php';
$conn = new PDO(DB_DSN, DB_USER, DB_PASS);

$id = (int)$_GET['id'];
$q = $conn->query("SELECT * FROM cms_page WHERE id=$id"); 
$project = $q->fetch(PDO::FETCH_ASSOC);
$q->closeCursor();

$imagesDir = 'public/images/portfolio/'.$project['slug'].'/';
$images = glob($imagesDir . '*_th.{jpg,jpeg,png,gif}', GLOB_BRACE);

echo $imagesDir ;
print_r($images);

?>

<h1><?=htmlspecialchars($project['title'])?></h1>
<?php 
if ($images < 1) { 
    echo '<div id="slider">';
    echo '<ul>';
        foreach($images as $key => $value) { 
            echo '<li><a href="public/images/portfolio/i-vis/1.jpg" rel="shadowbox[iVis]" title="Fully Content Managed Website"><img src="public/images/portfolio/'.$project['title'].'/'.$value.'.jpg" width="160" height="96" /></a></li>';
        }
    echo '</ul>';
    echo '</div>';
} else { 
    echo 'There are currently no images to display for tihis project.';
}
?>

有人有任何想法吗?

2 个答案:

答案 0 :(得分:0)

首先:你确定你正在读正确的目录吗?

我的意思是:'public/images/portfolio/'.$project['slug'].'/'确实存在,并且可以在此脚本中使用此相对路径从脚本访问吗?

(您可以使用is_dir进行测试,例如


作为预防措施,在处理文件和目录时,我喜欢使用绝对路径,所以我总是知道我正在访问哪个目录。

例如,像这样:

$imagesDir = '/var/www/public/images/portfolio/'.$project['slug'].'/';

如果您不知道目录的绝对路径,可以使用dirname(__FILE__)获取当前PHP文件的绝对路径 - 然后,从该文件开始,使用相对路径;例如:

$imagesDir = dirname(__FILE__) . '/public/images/portfolio/'.$project['slug'].'/';

这样,您不必关心当前的工作目录:您的路径将始终相同,因为它不是相对的。


希望这会有所帮助...

如果没有:首先,请确保您正在访问正确的目录...

答案 1 :(得分:0)

<h1><?=htmlspecialchars($project['title'])?></h1>

<?是否为有效的PHP开头标记?

由于你的最后一段PHP代码没有显然执行(因为它会打印一个空ul或来自else块的文本)我怀疑PHP无法正确解析