Php使用数组显示图片

时间:2013-11-18 14:24:46

标签: php

我正在尝试使用foreach从某个目录显示图像..但问题是它在数组中显示结果,所以如果我想要打印出第一张图像,我必须使用$ imag ['0'] .. < / p>

有没有办法可以在这个括号中绕过这个数字?

这是我的代码......

<?php
$domena = $_SERVER['HTTP_HOST'];
$galerija = $_POST['naziv'];
$galerija = mysql_real_escape_string($galerija);

define('IMAGEPATH', 'galleries/'.$galerija.'/');

foreach(glob(IMAGEPATH.'*') as $filename){
    $imag[] =  basename($filename);
?>
<img src="http://<?php echo $domena; ?>/galerija/galleries/<?php echo $galerija; ?>/<?php echo $imag['0']; ?>">

2 个答案:

答案 0 :(得分:1)

如果你只需要第一个文件名,那么你可以避免循环并直接访问数组的第一个元素并在之后使用它:

$files = glob(IMAGEPATH.'*');
$filename =  array_shift(array_values($files));
$image = basename($filename);

要显示它,您可以使用sprintf()

echo sprintf('<img src="http://%s/galerija/galleries/%s/%s"/>', 
    $domena, $galerija, $image);

答案 1 :(得分:0)

嗯,你可以先在foreach语句中创建数组,而只是打印img:

echo '<img src="', $domena ,'/galerija/galleries/', $galerija ,'/', $filename,'">';

或者你可以迭代数组。

foreach($imag as $img): ?>
    <img src="http://<?php echo $domena; ?>/galerija/galleries/<?php echo $galerija; ?>/<?php echo $img ?>">
<?php endforeach; ?>