如果某些图像显示PHP,则显示某些文本

时间:2016-10-01 17:30:35

标签: php html css

我需要一段文字来显示某个图像是否正在显示。

目前我对随机背景图片有这个:

<?php
// Time to do all the background stuffs 
  $bg = array('01.jpg', '02.jpg',  '04.jpg', '970.jpg', '294.jpg', '096.jpg', '05.jpg', '08.jpg', '011.jpg', '012.jpg', '035.jpg', '045.jpg', '049.jpg', '066.jpg', '079.jpg', '096.jpg', '106.jpg', '173.jpg', '178.jpg', '205.jpg', '372.jpg', '500.jpg', '513.jpg', '682.jpg', '714.jpg', '860.jpg', '895.jpg', '914.jpg', '939.jpg', '966.jpg', '1025.jpg', '1074.jpg', '1123.jpg', '1162.jpg', '1499.jpg' ); 
  // array of filenames
  $i = rand(0, count($bg)-1); // generate random number size of the array
  $selectedBg = "$bg[$i]"; // set variable equal to which random filename was chosen
?>

<style type="text/css">
@import 'https://fonts.googleapis.com/css?family=Yatra+One';
body{
background: #000000 url(images/<?php echo $selectedBg; ?>) no-repeat;
background-position: center;
}

  </style>

这是为背景做背景和CSS然后我有多个引号需要根据图像显示。

感谢任何帮助

干杯汤姆

3 个答案:

答案 0 :(得分:2)

由于每个引用都取决于图像 - 您应该重建数组:键必须是文件名,值是引号。之后你可以这样做:

// Time to do all the background stuffs 
$bg = array(
    '01.jpg' => 'I have a dream', 
    '02.jpg' => 'Don\'t ask yourself',  
    '04.jpg' => 'Bond. James Bond',
    // more 
);
$rand_key = array_rand($bg);
$rand_quote = $bg[$rand_key];
echo $rand_key, $rand_quote;

答案 1 :(得分:1)

也许你应该添加另一个数组:

$bgText = array("01.jpg" => "text you wanna display when 01.jpg is selected", ...);

然后在您要显示文本的位置:

<?= $bgText[$selectedBg] ?>

答案 2 :(得分:0)

解决方案一:

您需要创建一个数组作为键值对,以便您可以将图像与文本组合在一起。

<强>语法:

array(
    key  => value,
    key2 => value2,
    key3 => value3,
    ...
)

最后一个数组元素后面的逗号是可选的,可以省略。这通常是针对单行阵列完成的,即阵列(1,2)优于阵列(1,2)。另一方面,对于多行数组,通常使用尾随逗号,因为它允许在末尾更容易地添加新元素。

$image_text = array("light.png" => "Alternative Text for light.png", ...);

在显示部分,您可以显示这样的数据。

<?php
echo $image_text[$alt_text];
?>

解决方案二:

就像您对bg所做的那样明智,您可以将变量的名称命名为alt,并且您可以在数组中提供名称,并且可以使用您使用的img标记进行打印。

<强> Exapmle:

$alt=array('lilly','rose','apple');

除了您在样式中给出的bg图像,您还可以将此行添加到该div。

<body>
<?php echo $alt[1]; ?>
</body>

如果未显示bg图片,则会看到alt。