2010-12-05 25 views
6

मैं एक टंबलर पेज पर काम कर रहा हूं। मेरे पास एचटीएमएल पेज के लिए दो अलग-अलग पृष्ठभूमि हैं और मैं डेए पृष्ठभूमि को 7 बजे से शाम 8 बजे तक प्रदर्शित करना चाहता हूं और रात की पृष्ठभूमि 8 बजे से 7 बजे तक प्रदर्शित होती है।php का उपयोग कर रात और दिन के लिए पृष्ठभूमि बदल रहा है?

मैंने इसे php में करने का निर्णय लिया, लेकिन जब मैं php की बात करता हूं तो मैं कुल मिलाकर नया हूं। मेरे दोस्त ने मुझे एक उदाहरण कोड भेजा जो मैं उपयोग कर सकता था। लेकिन मुझे नहीं पता कि इसके साथ क्या करना है। क्या आप लोग मदद कर सकते हैं।

यहां उदाहरण कोड है।

<?php 
header('content-type: text/css'); 

date_default_timezone_set("America/Vancouver"); 
$now = date('G'); 

if ($now < 12) { 
    $bg = '#FFFFFF'; 
} else { 
    $bg = '#000000'; 
} 
?> 

body { 
    background: <?php echo $bg; ?>; 
} 
+0

क्या आपने दिन और रात के समय को स्पष्ट रूप से निर्दिष्ट करने के बजाय सूर्यास्त समय की जांच करने पर विचार किया था? http://php.net/manual/en/function.date-sunset.php –

उत्तर

0

date समारोह का उपयोग कर रहे वर्तमान समय की 24 घंटे के स्वरूप लौटा रहा है। इसके बाद, सशर्त में आपको यह संशोधित करना चाहिए कि आप किस श्रेणी में हैं। $now 7 और 20 के बीच है, आप इसे दिन की पृष्ठभूमि में सेट कर सकते हैं। अन्यथा, इसे रात के समय में सेट करें। अगर आपको ऐसा करने के लिए अधिक जानकारी चाहिए तो मुझे बताएं।

<?php 
header('content-type: text/css'); 

date_default_timezone_set("America/Vancouver"); 
$now = date('G'); 

if ($now > 7 && $now < 20) { 
    $bg = '#FFFFFF'; 
} else { 
    $bg = '#000000'; 
} 
?> 

<body style="background-color:<?php echo $bg; ?> !important;"> 
<!-- Your HTML code here --> 
</body> 
+0

लॉल, हां। मैंने देखा कि और पहले ही शोध कर रहा था कि ऐसा करने के लिए PHP को कैसे बताना है। मुझे सिर्फ यह जानने की जरूरत है कि इसे HTML वेब पेज पर कैसे कार्यान्वित किया जाए। यह मुझे थोड़ा उलझन में डाल रहा है। खासकर जब से एचटीएमएल मेरे सर्वर पर नहीं है। –

+0

वाह, यह इतना आसान है? इसके लिए शुक्रिया। एचटीएमएल रिमोट सर्वर पर है क्योंकि मैं php फ़ाइल कैसे कॉल करूं? –

1

बदलने का प्रयास करें:

body { 
    background: <?php echo $bg; ?>; 
} 

रहे हैं:

<body style="background-color: <?php echo $bg; ?> !important;"> 

आप PHP कोड मेरे लिए ठीक हो रहा है। ध्यान दें कि, यह 12:00 बजे से 12:00 आधी रात तक सफेद पृष्ठभूमि प्रदर्शित करेगा। सफेद पृष्ठभूमि को 7:00 पूर्वाह्न से शाम 8:00 बजे तक और काले रंग के अन्य समय (जैसा कि हारून ने कहा) के लिए निम्नलिखित कोड आज़माएं।

बदलें:

साथ
if ($now < 12) { 
    $bg = '#FFFFFF'; 
} else { 
    $bg = '#000000'; 
} 

:

if ($now < 7 || $now > 20) { 
    $bg = '#000000'; 
} else { 
    $bg = '#FFFFFF'; 
} 
6

date() सर्वर स्थानीय दिनांक/समय, जिसका मतलब है वापस आ जाएगी कि आपके सर्वर अमेरिका, पूर्वी एशिया या से एक उपयोगकर्ता में है अगर उदाहरण के लिए ऑस्ट्रेलिया, गलत पृष्ठभूमि देखेंगे।

मुझे पता है कि यह वह नहीं है जिसे आप ढूंढ रहे थे, लेकिन मैं जेएस के साथ ऐसा करने का सुझाव दूंगा, जो सर्वर-साइड की बजाय उपयोगकर्ता-पक्ष चलाता है, और इसलिए टाइमज़ोन कोई फर्क नहीं पड़ता क्योंकि स्क्रिप्ट उपयोगकर्ता को प्राप्त करेगी समय, सर्वर का समय नहीं। स्क्रिप्ट कुछ ऐसा दिखाई देगी:

var localDate = new Date(); 
if (localDate.getHours() > 7 && localDate.getHours() < 20) { 
    document.bgColor = "#fff"; 
} else { 
    document.bgColor = "#000"; 
} 

आशा है कि इससे मदद मिलती है!

function getUKTime() { 

    date_default_timezone_set('Europe/London'); 

    $time = date('H'); 
    $style = ""; 

    if ($time >= 6 && $time <= 18) { 
     $style = $style . "day"; 
    } 
    else { 
     $style = $style . "night"; 
    } 

    echo $style; 
} 
अपने html में

:

0

मैं इस

अपने php की तरह कुछ इस्तेमाल किया

<div id="uk" class="<?php getUKTime(); ?>"> 
    <h1>U.K.</h1> 
</div> 

तो बस अपने .night या .day कक्षाएं शैली

0

आप कर सकते हैं विभिन्न सीएसएस फ़ाइलों को सेट करें, एक दिन के लिए और दूसरा रात के लिए।

$date = getDate(); 

// check day or night 
// it's day by default 
$css = "css/main.css"; 

if ($date['hours'] < 7 || $date['hours'] > 20){ 
    // is night 
    $css = "css/main-night.css"; 

} 

फिर, <meta> टैग, उस पृष्ठ की शैली फ़ाइल को परिभाषित में।

<link href="<?= $css ?>" rel="stylesheet">