PHP每2小时自动更改一次图像

时间:2016-05-13 07:17:21

标签: php

我需要一个PHP代码,每次每2小时更改一次图像。实际上我有6张图片,我想每2小时自动更改这些图像。我怎样才能实现这一点,任何人都非常感激。

5 个答案:

答案 0 :(得分:2)

如果您有6张图片,例如

$img1 = '/image1.png';
$img2 = '/image2.png';
$img3 = '/image3.png';
$img4 = '/image4.png';
$img5 = '/image5.png';
$img6 = '/image6.png';

你可以制作一个if命令,这将是最简单的解决方案

if(date('g') == 1 || date('g') == 2){
    $image = $img1;
}
if(date('g') == 3 || date('g') == 4){
    $image = $img2;
}
if(date('g') == 5 || date('g') == 6){
    $image = $img3;
}

...

可能不是最有效的代码,但应该像快速解决方案一样工作

date('g')返回12小时格式的小时而没有前导零,它应该是当前时间。你也可以做这样的事情date('g', strtotime('now')),但我认为你不需要

答案 1 :(得分:0)

在php中,这可以通过一些简单的代码行来实现,事实上,我把一个简单的例子放在一起,根据它的时间打印出不同的图像 - 你应该能够轻松地调整它以输出不同的每小时都有一张图片。

$i = substr(time(), -1, 2 );     


switch ($i) {     

case 0: 
        $img = '<img src="zero.JPG" alt="img">'; 
        break; 
case 1: 
        $img = '<img src="one.JPG" alt="img">'; 
        break; 
case 2: 
        $img = '<img src="two.JPG" alt="img">'; 
        break; 
case 3: 
        $img = '<img src="three.JPG" alt="img">'; 
        break; 
case 4: 
        $img = '<img src="four.JPG" alt="img">'; 
        break; 
case 5: 
        $img = '<img src="five.JPG" alt="img">'; 
        break; 
case 6: 
        $img = '<img src="six.JPG" alt="img">'; 
        break; 
case 7: 
        $img = '<img src="seven.JPG" alt="img">'; 
        break; 
case 8: 
        $img = '<img src="eight.JPG" alt="img">'; 
        break; 
case 9: 
        $img = '<img src="nine.JPG" alt="img">'; 
        break; 
} 

echo $img; 

答案 2 :(得分:0)

试试这个,

var i = 0; var path = new Array(); 

// LIST OF IMAGES 
path[0] = "image.jpg"; 
path[1] = "image1.jpg"; 
path[2] = "image2.jpg"; 
path[3] = "image3.jpg";
path[4] = "image4.jpg";
path[5] = "image5.jpg";


function swapImage() 
  { 
document.slide.src = path[i]; 
if(i < path.length - 1) i++; 
else i = 0; 
setTimeout("swapImage()",7200000); 
  } 
window.addEventListener("load",  swapImage); 
</script> 
<img height="230" name="slide" src="image.jpg" width="200" /></p>
</center></div></div>

答案 3 :(得分:0)

<?php

    header('Content-Type: image/png');
    //add images acoordingly
    $imageArr = array('image1.png','image2.png');
    foreach($imageArr as $path){
        $im = imagecreatefrompng($path);
        imagepng($im);
        imagedestroy($im);
        sleep(2*60*60);
    }
?>

是你要找的代码

答案 4 :(得分:0)

<?php
// change every X hours
define('EVERY', 2);

// here we have the images
$images = [
    'image1.png',
    'image2.png',
    'image3.png',
    'image4.png',
    'image5.png',
    'image6.png'
];

// anonymous function to get the current Image
$imageFor = function ($hour) use ($images) {
    $index = $hour / EVERY % count($images);
    return $images[$index];
};

// output for all the hours
for ($i = 0; $i < 24; $i++)
    echo "$i\t", $imageFor($i), PHP_EOL;

$currentHour = date('G');
echo "[$currentHour] Now showing Image: ", $imageFor($currentHour);

<强>输出

0   image1.png
1   image1.png
2   image2.png
3   image2.png
4   image3.png
5   image3.png
6   image4.png
7   image4.png
8   image5.png
9   image5.png
10  image6.png
11  image6.png
12  image1.png
13  image1.png
14  image2.png
15  image2.png
16  image3.png
17  image3.png
18  image4.png
19  image4.png
20  image5.png
21  image5.png
22  image6.png
23  image6.png
[8] Now showing Image: image5.png

Play with me @ 3v4l.org