php आउटपुट बफरिंग क्या है?




output-buffering (4)

वेब डेवलपर्स के लिए आउटपुट बफरिंग, एक शुरुआती गाइड :

आउटपुट बफरिंग (डिफ़ॉल्ट) के बिना, आपका एचटीएमएल ब्राउज़र में आपके स्क्रिप्ट के माध्यम से PHP प्रक्रियाओं के रूप में भेजा जाता है। आउटपुट बफरिंग के साथ, आपका एचटीएमएल एक चर में संग्रहीत है और ब्राउज़र को आपकी स्क्रिप्ट के अंत में एक टुकड़ा के रूप में भेजा जाता है।

वेब डेवलपर्स के लिए आउटपुट बफरिंग के फायदे

  • आउटपुट बफरिंग को चालू करने से हमारे एचटीएमएल को डाउनलोड करने और प्रस्तुत करने में कितना समय लगता है क्योंकि यह ब्राउज़र को टुकड़ों में नहीं भेजा जा रहा है क्योंकि PHP HTML को संसाधित करता है।
  • सभी फैंसी सामान जो हम PHP तारों के साथ कर सकते हैं, अब हम अपने संपूर्ण HTML पृष्ठ के साथ एक चर के रूप में कर सकते हैं।
  • यदि आपको कभी भी संदेश का सामना करना पड़ा है "चेतावनी: हेडर जानकारी संशोधित नहीं कर सकता - कुकीज़ सेट करते समय पहले से ही (आउटपुट) द्वारा भेजे गए हेडर, आपको यह जानकर ख़ुशी होगी कि आउटपुट बफरिंग आपका उत्तर है।

आउटपुट बफरिंग क्या है और PHP में इसका उपयोग क्यों कर रहा है?


जैसा कि नाम यहां सुझाता है मेमोरी बफर का उपयोग यह प्रबंधित करने के लिए किया जाता है कि स्क्रिप्ट का आउटपुट कैसा दिखाई देता है।

विषय के लिए यहां एक बहुत अच्छा ट्यूटोरियल है


आउटपुट नियंत्रण फ़ंक्शंस आपको स्क्रिप्ट से आउटपुट भेजे जाने पर नियंत्रित करने की अनुमति देता है। यह कई अलग-अलग परिस्थितियों में उपयोगी हो सकता है, विशेष रूप से यदि आपको अपनी स्क्रिप्ट डेटा को आउटपुट करना शुरू करने के बाद ब्राउज़र में शीर्षलेख भेजने की आवश्यकता है। आउटपुट कंट्रोल फ़ंक्शंस हेडर () या setcookie () का उपयोग करके भेजे गए हेडर को प्रभावित नहीं करता है, केवल PHP कोड के ब्लॉक के बीच echo () और डेटा जैसे फ़ंक्शन।

http://php.net/manual/en/book.outcontrol.php

और अधिक संसाधनों:

PHP के साथ आउटपुट बफरिंग


प्रदर्शन में सुधार करने और कुछ चाल करने के लिए PHP द्वारा आउटपुट बफरिंग का उपयोग किया जाता है।

  • आप PHP आउटपुट को सभी आउटपुट को बफर में रख सकते हैं और इसे नेटवर्क प्रदर्शन में सुधार करने के बाद आउटपुट कर सकते हैं।

  • आप कुछ स्थितियों में ब्राउज़र पर वापस भेजने के बिना बफर सामग्री तक पहुंच सकते हैं।

इस उदाहरण पर विचार करें:

<?php
    ob_start( );
    phpinfo( );
    $output = ob_get_clean( );
?>

उपर्युक्त उदाहरण ब्राउज़र को भेजने के बजाय आउटपुट को एक चर में कैप्चर करता है। output_buffering डिफ़ॉल्ट रूप से बंद कर दिया गया है।

  • जब आप सामग्री भेजने के बाद हेडर संशोधित करना चाहते हैं तो आप परिस्थितियों में आउटपुट बफरिंग का उपयोग कर सकते हैं।

इस उदाहरण पर विचार करें:

<?php
    ob_start( );
    echo "Hello World";
    if ( $some_error )
    {
        header( "Location: error.php" );
        exit( 0 );
    }
?>




output-buffering