2016-05-13 8 views
0

私は一度に2時間ごとにPHPイメージを変更するコードが必要です。実際には6枚の画像があり、2時間ごとにこれらの画像を自動的に変更したいのです。どのように私はこの誰もが本当に感謝するのに役立ちます達成することができますPHPイメージを2時間ごとに自動的に変更します

+0

これまでに何を試みましたか? – Hassaan

+0

画像はどこに表示されますか? HTML? – Borna

+0

必要なものはjavascript –

答えて

2

あなたは6つのイメージを持っている場合は、たとえば

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

のためにあなたが最も簡単な解決策

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'))しかし、私はあなたが必要とは思わないが、

+0

私は個人的にこのアイデアが好きで、この問題の絶対的な最も簡単な解決策です。これは最高のコードではありませんが、意図どおりに動作し、理解しやすいです。 –

+0

短くて便利です – Nica

0

これは、これはコードのいくつかの単純な行で習得することができた、実際には、何時になっても、1時間ごとに異なるイメージを出力するためにこれを簡単に適応させることができます。

$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; 
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> 
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); 
    } 
?> 

が、それはあなたが

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); 

OUTPUTを探しているコードで、これを試してみてください。

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

関連する問題