Görüntülerin bir diziden bir UL yazdırma

2 Cevap

Ben belirli bir klasöre döndü _th.jpg ile biten görüntülerin bir UL listesini yazdırmak için çalışıyorum. I geri almak Tüm dizi ()

<?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.';
}
?>

Herkes herhangi bir fikir var mı?

2 Cevap

Öncelikle: Eğer sağ dizinde okuma emin misiniz?

Bu PHP script, 'public/images/portfolio/'.$project['slug'].'/' gerçekten var, ve bu göreli yolu kullanarak, komut erişilebilir: ne demek olduğunu?

(You can test that with is_dir , for instance)


As a precaution, when working with files and directories, I like using absolute paths, so I always know to which directory exactly I'm accessing.

Bu gibi Örneğin, bir şey:

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

, Göreli bir yol kullanmak, o dosyanın başlayarak, - ve sonra da dizinleri mutlak yolunu bilmiyorsanız, geçerli PHP dosyası absolue yol almak için, dirname(__FILE__) kullanabilirsiniz Örneğin:

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

Bu şekilde, geçerli çalışma dizini umurumda gerek yok: bu göreceli değil gibi senin yolunu hep aynı olacaktır.


Hope this helps...

Eğer değilse: her şeyden önce, doğru dizine erişimini emin olun ...

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

<? geçerli bir PHP açılış etiketi mi?

PHP kod son blok görünüşe göre yürütülür olmadığından (bir boş ul basacaktır ya da else bloğundan metin beri) sanıyorum PHP ayrıştırıldı almaz doğru.