1

そうです、私はこれの大ファンではないので、クライアントがこの機能を望んでいるので、この質問のために私をスレートしないでください...私ではありません。

www.example.comにアクセスすると通常どおり表示されるデザインA(ライトバージョンまたはWebサイト)がありますが、毎日午後6時から午前8時まで、クライアントはデザインB(ダークバージョン)を表示したいと考えています。

これはPHPを使用して実行できますか?これに沿った何か:

<?php if the time right now is between 6pm and 8am { ?>
    Display Design B
<?php } else { ?>
    Display Design A
<?php }?>
4

5 に答える 5

1

特定の画像を変更したいとおっしゃいましたが、関数を使用するかもしれませんが、

<?php
function chooseImage($image1, $image2){
    if(date("H") >= 8 && date("H") < 18 ){ ?>
        return '<img src="'.$image1.'" alt="Daytime Image" \>';
    <?php } else { ?>
    return '<img src="'.$image2.'" alt="Nighttime Image" \>';
<?php }?>

それをページのどこかに置き、画像を変更したい場所ならどこでも、関数を呼び出して、変数として変更される2つの画像を渡すことができます。

<?php chooseImage(image1.jpg,image2.jpg);?>
于 2012-10-31T15:23:51.583 に答える
1

これを行うには、日付関数を使用できます。ただし、この日付関数はサーバーのタイムゾーンをエコーし​​ます。gmtで時間を知りたい場合は、gmdate()を使用してください。

<?php if(date("H") > 18 && date("H") < 08 ){ ?>
    Display Design B
<?php } else { ?>
    Display Design A
<?php }?>
于 2012-10-31T14:57:16.900 に答える
1

私はこのコンセプトが大好きです。他の誰かがやっているのを聞いてうれしいです!

とにかく、うまくいけば、あなたのサイトはCSSを中心に設計されています。その場合、あなたの答えは、必要に応じて正しいCSSファイルに切り替えることにあります。ほとんどのブラウザはCSSをキャッシュすることに注意してください。そのため、CSSファイルのリクエストに任意の引数を追加してキャッシュディフィーターを使用します。

<?php if(date("H") >= 18 && date("H") < 8 ){ ?>
    <style src="dark.css?r=<?php echo md5(rand().microtime()); ?>" />
<?php } else { ?>
    <style src="light.css?r=<?php echo md5(rand().microtime()); ?>" />
<?php }?>

インラインIMGタグがたくさんありますか?最善の解決策は、CSSでそれらを再実装することです。さもないと:

<?php
$sheet_time = (date('H') >= 18 && date('H') < 8) ? 'dark' : 'light';
?>
<img src="images/<?php echo $sheet_time; ?>/foo.jpg" />

自然にすべての画像を暗い/明るいディレクトリに分割します(とにかくCSSで実装する場合でもこれを行う必要があります)。

于 2012-10-31T14:58:14.620 に答える
1
<?php
date_default_timezone_set("Europe/Isle_of_Man");
$imgfolder = "standard";
if(intval(date('H')) >= 18 || intval(date('H')) <= 8){ 
    $imgfolder = "dark";
    ?>
    <link rel= "stylesheet" type="text/css" href="dark.css" />
<?
}else{ 
    $imgfolder = "standard";
    ?>
    <link rel= "stylesheet" type="text/css" href="standard.css" />
<?
}

画像を読み込むには、次を使用できます。

<img src = "images/<?echo $imgfolder; ?>/header.jpg"...

画像はとにそれぞれ保存する必要がimages/standard/ありimages/darkます。

于 2012-10-31T15:09:24.683 に答える
0
<?php

date_default_timezone_set('Europe/London');

$hour = (int) date('H');
if (($hour > 8 && $hour < 18)) {
    // it's past 8 AM and less then 6 PM
    $daytime_design = true;
    $resource_path = 'day';
}
else {
    // the other hours, 6 PM to 8 AM the next day
    $daytime_design = false;
    $resource_path = 'night';
}
?>

ずっと後のtemplate.tpl.phpなどで

<!doctype html>
<head>
<meta charset="utf-8">
<title></title>
<link rel="stylesheet" href="/css/<?=$resource_path;?>/style.css">
</head>
<body>

<?php 
if ($daytime_design === true) {
    echo 'Good Day!';
}

if ($daytime_design === false) {
    echo 'Only shows for night design, <img src="special-night-image.jpg">';
}

?>

This will show /images/day/logo.jpg or /images/night/logo.jpg
<img src="/images/<?=$resource_path;?>/logo.jpg"> 

</body>
</html>
于 2012-10-31T14:58:41.173 に答える