печать UL из массива изображений - PullRequest
0 голосов
/ 27 ноября 2009

Я пытаюсь распечатать список изображений UL, заканчивающийся _th.jpg, возвращенным из определенной папки. Все, что я вернусь, это массив ()

<?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 голосов
/ 27 ноября 2009
<h1><?=htmlspecialchars($project['title'])?></h1>

Является ли <? допустимым открывающим тегом PHP?

Поскольку ваш последний блок кода PHP явно не выполняется (поскольку он будет либо печатать пустой ul, либо текст из блока else), я подозреваю, что PHP не был проанализирован правильно.

0 голосов
/ 27 ноября 2009

Прежде всего: вы уверены, что читаете из правильного каталога?

Что я имею в виду: действительно ли 'public/images/portfolio/'.$project['slug'].'/' существует и доступен из вашего сценария, используя этот относительный путь, в этом сценарии PHP?

(Вы можете проверить это, например, с помощью is_dir)


В качестве меры предосторожности при работе с файлами и каталогами мне нравится использовать абсолютные пути, поэтому я всегда знаю, к какому именно каталогу я обращаюсь.

Например, что-то вроде этого:

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

Если вы не знаете абсолютный путь к вашим каталогам, вы можете использовать dirname(__FILE__), чтобы получить абсолютный путь к текущему файлу PHP, а затем, начиная с этого файла, использовать относительный путь; например:

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

Таким образом, вам не нужно заботиться о текущем рабочем каталоге: ваш путь всегда будет одинаковым, поскольку он не является относительным.


Надеюсь, это поможет ...

Если это не так, прежде всего, убедитесь, что вы обращаетесь к нужному каталогу ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...