PHP Загрузить изображение, если существует? - PullRequest
1 голос
/ 11 июля 2011

Я использую этот код для слайд-шоу:

<img src="<?php echo($array[0]); ?>"/>
<img src="<?php echo($array[1]); ?>"/>
<img src="<?php echo($array[2]); ?>"/>
<img src="<?php echo($array[3]); ?>"/>
<img src="<?php echo($array[4]); ?>"/>
<img src="<?php echo($array[5]); ?>"/>
<img src="<?php echo($array[6]); ?>"/>
<img src="<?php echo($array[7]); ?>"/>

Я хочу показывать изображения, только если они существуют. Иногда массив $ имеет только 5 значений.

Как это возможно?

Ответы [ 5 ]

4 голосов
/ 11 июля 2011

Вы должны перебрать значения массива и отобразить тег изображения для каждого значения:

<?php
foreach($array as $img){
    echo '<img src="'.$img.'"/>'."\n";
}
?>
3 голосов
/ 11 июля 2011

Это прекрасная возможность для цикла. Вы можете использовать цикл for (поскольку ваш массив имеет числовую индексацию) или цикл foreach.


Использование петли for:

<?php $count = count($array); for($i = 0; $i < $count; $i++): ?>
  <img src="<?php echo($array[$i]); ?>" />
<?php endfor; ?>

В традиционном синтаксисе:

<?php $count = count($array); for($i = 0; $i < $count; $i++) { ?>
  <img src="<?php echo($array[$i]); ?>" />
<?php } ?>

Использование петли foreach:

<?php foreach($array as $img): ?>
  <img src="<?php echo $img; ?>" />
<?php endforeach; ?>

В традиционном синтаксисе:

<?php foreach($array as $img) { ?>
  <img src="<?php echo $img; ?>" />
<?php } ?>

Поскольку это довольно простой вопрос, я предлагаю вам уделить время чтению главы PHP Documentation о управляющих структурах . Есть необходимые. Это доступно здесь:

Документация PHP: структуры управления

1 голос
/ 11 июля 2011
foreach($array as $src){ echo "<img src='$src' />"; }
0 голосов
/ 11 июля 2011
<?php
foreach($array as $img){
    if(file_exists($img))
    echo '<img src="'.$img.'"/>'."\n";
}
?>
0 голосов
/ 11 июля 2011
for($i=0;$i<count($array);$i++)
{
?>
  <img src="<?php echo($array[$i]); ?>"/>
<?php
}
...