2014-02-10 72 views
0

我必須使用數組和rand函數顯示隨機照片。如何在文本下顯示照片?

現在我將根據每張照片添加文字(例如,長老文本與圖像的話)

我的代碼:在HTM

<?php 


$images=array(
    array('file'=>'pic1','alt'=>"Your Description About pic1"), 
    array('file'=>'pic2','alt'=>"Your Description About pic2"), 
    array('file'=>'pic3','alt'=>"Your Description About pic3"), 
    array('file'=>'pic4','alt'=>"Your Description About pic4"), 
    array('file'=>'pic5','alt'=>"Your Description About pic5"), 
    array('file'=>'pic6','alt'=>"Your Description About pic6"), 
    ) 
    $i=rand(0,count($images)-1); 
    $selectimage="newfolder/{$images[$i]['file']}.jpg"; 
    $alt=$images[$i]['alt']; 

if (file_exists($selectimage) && is_readable($selectimage)) 

    $imagesize= getimagesize($selectimage); 
?> 

視圖

<img src="<?php echo $selectimage;?> " alt="<?php echo $alt ; ?>" <?php echo $imagesize[3] ; ?> /> 

什麼我該怎麼辦?

+4

那究竟是什麼問題? – Mureinik

+0

我無法顯示照片下方的文字////////隨機圖片和文字 – Mortzea

+0

您沒有執行任何代碼顯示圖片 – 2014-02-10 19:04:12

回答

0

我找到了。

對於顯示文本應該添加文本到數組。

<!doctype html> 
<html> 
<head> 
<?php 

    $images= array(
array('file' => 'pic1' ,'txt'=>'sample1', 'alt' => "Your Discription About pic1"), 
array('file' => 'pic2','txt'=>'sample2' , 'alt '=> "Your Discription About pic2"), 
array('file'=> 'pic3' ,'txt'=>'sample3', 'alt' => "Your Discription About pic3"), 
array('file' => 'pic4','txt'=>'sample4' , 'alt' => "Your Discription About pic4"), 
array('file'=>'pic5','txt'=>'sample5' , 'alt' => "Your Discription About pic5") 
); 

$i=rand(0,count($images)-1); 
$selectimage="newfolder/{$images[$i]['file']}.jpg"; 
$alt=$images[$i]['alt']; 
if (file_exists($selectimage) && is_readable($selectimage)) { 
$imagesize= getimagesize($selectimage); 
} 

?> 
</head> 
<body> 
<img src="<?php echo $selectimage;?> " /> 
<?php echo $images[$i]['txt'];?> 
</body> 

</html> 
1

我所知道的最簡單的方法是將圖像和文本進行包裝,然後相應地進行定位。

<?php 

    $images = array(
    array('file'=>'pic1','alt'=>"Your Description About pic1", 'text'=>"Pic1 Subtext"), 
    array('file'=>'pic2','alt'=>"Your Description About pic2", 'text'=>"Pic1 Subtext") 
    ); 

    $i=rand(0,count($images)-1); 
    $selectimage="newfolder/{$images[$i]['file']}.jpg"; 
    $alt=$images[$i]['alt']; 
    $subtitle = $images[$i]['text']; 


    if (file_exists($selectimage) && is_readable($selectimage)) { 
    $imagesize= getimagesize($selectimage);  
    } 

?> 

<div class="image_wrapper"> 
    <img src="<?= $selectimage; ?>" alt="<?= $alt; ?>"/> 
    <p class="img_subtitle"><?= $subtitle; ?></p> 
</div> 
+0

有一個不錯的idea.but id不有顯示替代照片//我有顯示例如,使用getimagesize()在樣式標記中的第三個參數的長老文本的照片 – Mortzea

+0

的文字將不起作用,因爲輸出是針對img標記內部的,如下所示: '高=「yyy」width =「xxx」' –

+0

@Mortzea對不起,我沒有塞滿午餐時讀得更好。 :)但是你可以把你想要的任何文字。如果你想用文本對照片進行分組,我會把它包裝在一個div中。也許在數組中添加另一個字段,其中包含每張照片所需的文本。 –

1

您的代碼中有語法錯誤。您需要在陣列中使用,而不是;,並在每個語句結束時使用;

$images=array(
    array('file'=>'pic1','alt'=>"Your Description About pic1"), 
    array('file'=>'pic2','alt'=>"Your Description About pic2"), 
    array('file'=>'pic3','alt'=>"Your Description About pic3"), 
    array('file'=>'pic4','alt'=>"Your Description About pic4"), 
    array('file'=>'pic5','alt'=>"Your Description About pic5"), 
    array('file'=>'pic6','alt'=>"Your Description About pic6") 
    );