PHP का उपयोग करके किसी पृष्ठ को ताज़ा करें


148

मैं समय-समय पर PHP का उपयोग करके किसी पृष्ठ को कैसे ताज़ा कर सकता हूं? अगर मैं इसे PHP द्वारा नहीं कर सकता, तो सबसे अच्छा अनुशंसित परिदृश्य क्या है?


क्या हम सिंक के बारे में बात कर रहे हैं (आप एक ऐसी स्थिति का सामना करते हैं जहां आप अपनी php स्क्रिप्ट के दौरान रिफ्रेश करना चाहते हैं) रिफरेक्स (मेटा रिफ्रेश ठीक काम करेगा) या एक पृष्ठ के async निरंतर रिफ्रेश के बारे में (अधिक जावास्क्रिप्ट / ajax की तरह)?
नाजीरो

जवाबों:


275

आप इसे PHP के साथ कर सकते हैं:

header("Refresh:0");

यह आपके वर्तमान पृष्ठ को ताज़ा करता है, और यदि आपको इसे किसी अन्य पृष्ठ पर पुनर्निर्देशित करना है, तो निम्न का उपयोग करें:

header("Refresh:0; url=page2.php");

1
रीफ़्रेश एक आधिकारिक शीर्ष लेख नहीं है, लेकिन नेटस्केप नेविगेटर के बाद से कई ब्राउज़रों द्वारा समर्थित है। इसका मतलब है कि आपको यह सुनिश्चित करने के लिए परीक्षण करना होगा कि आपके दर्शक सहायक ब्राउज़र का उपयोग करते हैं।
पतंजलि

5
0 का उपयोग करना आपके सर्वर, और / या आपके स्थानीय कैश को लगातार हथौड़ा देगा, खासकर यदि आपके पास पृष्ठ पर चित्र हैं। यदि आपको केवल स्क्रीन पर जानकारी अपडेट करने की आवश्यकता है, जैसे स्टॉक की कीमतें, लेकिन उस जानकारी का उपयोग फॉर्म में या जावास्क्रिप्ट से न करें, तो शायद एक पेज पर इंगित किए गए आइफ्रेम टैग का उपयोग सिर्फ अपडेट की जा रही जानकारी के साथ, और कैसे करने के लिए उपयुक्त देरी के साथ वर्तमान जानकारी होनी चाहिए।
पतंजलि

1
यह मेरे कोड में "हेडर्स पहले ही भेजे गए" त्रुटि का कारण बनता है ... क्या कोई और तरीका है?
DBS

समाधान के लिए यहां देखें ; tldr, आप उपयोग करने से पहले कुछ भी आउटपुट नहीं कर सकते हैंheader();
एड्रियन

109

में पीएचपी आप का उपयोग कर सकते हैं:

$page = $_SERVER['PHP_SELF'];
$sec = "10";
header("Refresh: $sec; url=$page");

या सिर्फ जावास्क्रिप्ट का उपयोग करें window.location.reload()


2
Yazana हैडर ('स्थान:') का उपयोग किसी भी यूआरएल में उपयोगकर्ता को पुनर्निर्देशित करने के लिए किया जाता है, आप इसका उपयोग करके पृष्ठ को ताज़ा नहीं कर सकते।
देशभक्तों का

2
प्रतीक। तुम गलत हो। आप वास्तव में एक पृष्ठ को रिफ्रेश करने के लिए हेडर ("रिफ्रेश:") का उपयोग कर सकते हैं
१३१

6
आप दोनों कर सकते हैं, हालांकि मैं इसके साथ कोई प्रतीक्षा समय पसंद नहीं करता:header("Location: ".$_SERVER['PHP_SELF']);
जॉन मैगनोलिया

4
इस समाधान के बारे में एक नोट: यदि आपकी साइट किसी प्रकार की अच्छी रूटिंग या URL पुनर्लेखन (यानी डिफ़ॉल्ट रूप से लगभग किसी भी रूपरेखा) को लागू कर रही $_SERVER['PHP_SELF']है, तो आप पा सकते हैं कि आपको वास्तविक स्क्रिप्ट मार्ग मिल सकता है, न कि आपके ब्राउज़र में दिखाई देने वाला वास्तविक URL। किस मामले में, $_SERVER['REQUEST_URI']इसके बजाय का उपयोग करने का प्रयास करें ।
बदहोरशी 25:16

18

आप निश्चित रूप से PHP का उपयोग करके समय-समय पर एक पृष्ठ को ताज़ा कर सकते हैं:

<?php
    header("refresh: 3;");
?>

यह पेज को हर तीन सेकंड में रिफ्रेश करेगा।



12

मुझे PHP सामग्री को रीफ्रेश करने के दो तरीके मिले हैं:

1. HTML metaटैग का उपयोग करना :

echo("<meta http-equiv='refresh' content='1'>"); //Refresh by HTTP 'meta'

2. PHP ताज़ा दर का उपयोग करना:

$delay = 0; // Where 0 is an example of a time delay. You can use 5 for 5 seconds, for example!
header("Refresh: $delay;"); 

2
//Refresh by HTTP META => // Refresh by HTML METAयह भी ऊपर से कॉपी किए गए उत्तर की तरह दिखता है।
php_coder_3809625

11

पृष्ठ को रीफ्रेश करने के सभी PHP तरीकों के अलावा, पृष्ठ को निम्न HTML मेटा टैग के साथ भी रीफ्रेश किया जाएगा:

<meta http-equiv="refresh" content="5">

मेटा ताज़ा देखें - "एक निश्चित समय अंतराल के बाद स्वचालित रूप से वर्तमान वेब पेज या फ़्रेम ताज़ा करें"

आप contentमान के भीतर समय सेट कर सकते हैं ।


3
यह हर 0 सेकंड ताज़ा करेगा - शायद वह नहीं जो आप के लिए जा रहे हैं :)
वॉरेन

3
हां मैं इस जवाब पर टिप्पणी कर रहा हूं: हमेशा सुधार की गुंजाइश है। और आप सही हैं, आप contentसेकंड में किसी भी मूल्य के बराबर सेट कर सकते हैं - मेरी टिप्पणी अभी भी ध्यान देने योग्य है कि 0 सेकंड का एक रिफ्रेश शायद वह नहीं है जो आप के लिए जा रहे हैं :)
वॉरेन

2
@ मैथलाइट और जो कोई भी देरी से टिप्पणी के बारे में शिकायत करता है। सिर्फ इसलिए कि आप आगे बढ़ सकते हैं, एक भविष्य के पाठक को सिर्फ इस मुद्दे का अनुभव हो सकता है, और आपके उत्तर / टिप्पणी के साथ-साथ इसे चुनौती देने वाले किसी भी विलंब के साथ, अभी भी उनके लिए प्रासंगिक हो सकता है।
पतंजलि

1
@ मैथलाइट मुझे यकीन नहीं है कि लोग ऐसा क्यों सोचते हैं क्योंकि सिर्फ एक पोस्ट पुरानी है, इस पर टिप्पणी करने का कोई मूल्य नहीं हो सकता है। आपको उस सोच को निपटाना चाहिए।
मार्क क्रेमर

क्या आप "से बयान में निर्माण" से क्या मतलब है ?
पीटर मोर्टेंसन

2

header('Location: .'); Chrome, फ़ायरफ़ॉक्स, एज और इंटरनेट एक्सप्लोरर 11 में पेज को रीफ्रेश करने के लिए लगता है।


जैसा कि इसे (एक बार): php.net/manual/en/function.header.php : "दूसरा विशेष मामला" स्थान: "हैडर है। न केवल यह हेडर को ब्राउज़र में वापस भेजता है, बल्कि यह वापस भी आता है। ब्राउज़र के लिए एक REDIRECT (302) स्थिति कोड जब तक कि 201 या 3xx स्थिति कोड पहले से सेट नहीं किया गया हो। "
एस.जे.

लेकिन ऐसा नहीं है जो ओपी ने पूछा है। मैंने अभी भी इसे उखाड़ फेंका, क्योंकि मुझे एहसास हुआ कि बाद में, क्षमा करें। यह जल्द ही क्रिसमस है! :)
एस.जे.

1

आप इसे PHP में नहीं कर सकते । पेज लोड होने के बाद, PHP मर जाता है और नियंत्रण से बाहर हो जाता है।

आपके पास कुछ विकल्प हैं:

मुझे लगता है कि ताज़ा मेटा टैग सबसे आसान और सबसे सुविधाजनक है।


63
गलत, आप PHP का उपयोग करके समय-समय पर एक पृष्ठ को ताज़ा कर सकते हैं, यदि आप इस तरह से PHP के हेडर फ़ंक्शन का उपयोग करते हैं: हेडर ("ताज़ा: 3?");
131

1
आप शीर्ष लेख का उपयोग करके PHP में एक पृष्ठ को ताज़ा कर सकते हैं। इसके अलावा, MET REFRESH का उपयोग करना SEO के लिए आदर्श नहीं है।
theCarver

1
मुझे लगता है कि यह गलत है, हमेशा एक तरीका होता है: मुझे लगता है कि यदि वह कुछ समय बाद php के साथ पेज को रिफ्रेश करना चाहता है, तो एक पेज पर एक ajax रिक्वेस्ट भेज सकता है जिसमें php का रिफ्रेश कोड है। लेकिन आपका जवाब अच्छा है
मोहम्मद करमानी your

2
गलत ! कृपया अपना उत्तर ठीक करें ... वास्तव में यह PHP
M_R_K

1
यह पूरी तरह से गलत है! हर संभव तरीके से। यह PHP द्वारा किया जा सकता है, हेडर (रिफ्रेश) द्वारा और ट्रिगर रीडायरेक्ट द्वारा। ऐसा लगता है कि अन्य सभी उत्तर बेहतर हैं।
बुदिमीर ग्रोम

1

आप जावास्क्रिप्ट का उपयोग करके ताज़ा कर सकते हैं। पूर्ण पृष्ठ ताज़ा करने के बजाय, आप एक div में ताज़ा की जा सकने वाली सामग्री दे सकते हैं। फिर जावास्क्रिप्ट का उपयोग करके आप केवल उस विशेष div को रीफ्रेश कर सकते हैं, और यह पूर्ण पेज रिफ्रेश की तुलना में तेजी से काम करता है।


2
यदि आप कोड शामिल करते हैं, तो यह उत्तर थोड़ा और अधिक समझने योग्य हो सकता है।
I.Am.A.Guy

1

PHP सर्वर-साइड भाषा है, इसलिए आप पृष्ठ को PHP के साथ ताज़ा नहीं कर सकते, लेकिन जावास्क्रिप्ट पृष्ठ को ताज़ा करने के लिए सबसे अच्छा विकल्प है:

location.reload();

यात्रा का स्थान पुनः लोड () विधि


1
हाहाहा ठीक है, जैसा आप चाहें। इसे देखें => ( wrongDomain.epl.fanxt.com ) उन्होंने यह निर्दिष्ट नहीं किया कि लोड होने के बाद वह पृष्ठ को फिर से ताज़ा करेंगे। यदि रीफ़्रेश करने का निर्णय php कोड के निष्पादन के दौरान किया गया था, तो php निश्चित रूप से ताज़ा कर सकता है, और कितने सेकंड के बाद रीफ़्रेश करने का विकल्प चुन सकता है।
मोहम्मद जोरेद

@ अहमदाबाद, आप PHP की एक विशेषता के रूप में विचार नहीं कर सकते, यह HTML की सुविधा है। तो सॉर्ट में आप html प्रतिक्रिया हेडर सेट करके कर रहे हैं। और यही कारण है कि मैंने कहा कि आप इसे PHP के साथ नहीं कर सकते। एक और बात, आप लोड करने के बाद / जब जरूरत हो तो पेज को रिफ्रेश नहीं कर सकते। हाँ आप इसे कुछ सेकंड या आदि के लिए सेट कर सकते हैं जैसा आपने उत्तर दिया।
देशभक्त

ओह, तकनीकीताओं। लगता है कि किसी विशिष्ट छवि को ताज़ा करने के लिए हेडर का उपयोग करना संभव है? यदि आप मोटे के माध्यम से छवि को प्रवाहित करते हैं।
EZFrag

सचमुच @EZFrag, मुझे नहीं पता, क्या आप मुझे बता सकते हैं कि यह कैसे संभव है?
पेट्रीक्स

आह हाँ, मिल गया। सबसे पहले मैंने एक सामान्य छवि टैग की कोशिश की। कोई भाग्य नहीं। लेकिन फिर मैंने इमेज टैग को आइफ्रेम टैग और वॉइला से बदल दिया। छवि स्वतः ही ताज़ा हो जाती है। यह मेरे कुछ ऑन पेज स्टेटस इमेजेस के साथ बहुत मदद करने वाला है :) जो लोग सोच रहे हैं, मैं ताज़ा हेडर के साथ php के माध्यम से इमेज सर्व कर रहा हूँ, php फाइल को iframe के src के रूप में सेट कर रहा हूँ।
EZFrag

1

metaटैग इस तरह से गूँजें :

URL वह है जहां ताज़ा होने के बाद पृष्ठ पुनर्निर्देशित किया जाना चाहिए।

echo "<meta http-equiv=\"refresh\" content=\"0;URL=upload.php\">";

लेकिन सवाल पुनर्निर्देशित के बारे में नहीं है। यह रिफ्रेश के बारे में है।
पीटर मॉर्टेंसन

1

PHP में इस मेटा टैग को जोड़ने से मदद मिल सकती है:

echo '<META HTTP-EQUIV="Refresh" Content="0; URL=' . $location . '">';

3
हालांकि यह कोड स्निपेट प्रश्न को हल कर सकता है, जिसमें स्पष्टीकरण सहित वास्तव में आपकी पोस्ट की गुणवत्ता में सुधार करने में मदद करता है। याद रखें कि आप भविष्य में पाठकों के लिए प्रश्न का उत्तर दे रहे हैं, और उन लोगों को आपके कोड सुझाव के कारणों का पता नहीं चल सकता है।
दिमासन

लेकिन सवाल पुनर्निर्देशित के बारे में नहीं है। यह रिफ्रेश के बारे में है।
पीटर मोर्टेंसन

0

एक चाल URL के अंत में एक यादृच्छिक संख्या जोड़ने के लिए है। इस तरह आपको हर बार फ़ाइल का नाम नहीं बदलना पड़ेगा। उदाहरण के लिए:

echo "<img src='temp.jpg?r=3892384947438'>"

जब तक यादृच्छिक संख्या अलग नहीं होगी, तब तक ब्राउज़र इसे कैश नहीं करेगा, लेकिन वेब सर्वर इसे अनदेखा करेगा।


2
वह समय-समय पर एक पृष्ठ को कैसे ताज़ा करता है? क्या आप एक और जवाब दे रहे हैं?
पीटर मोर्टेंसन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.