आप output buffering के साथ ऐसा कर सकते हैं:
function include2string($file) {
ob_start();
include($file);
return ob_get_clean();
}
@DaveRandom अंक बाहर (सही) एक समारोह में इस लपेटकर के साथ मुद्दा यह है कि अपनी स्क्रिप्ट ($ फ़ाइल) के लिए पहुँच नहीं होगा कि वैरिएबल परिभाषित वैश्विक स्तर पर। हो सकता है कि गतिशील रूप से शामिल कई स्क्रिप्ट्स के लिए यह कोई समस्या न हो, लेकिन यदि यह आपके लिए कोई समस्या है तो इस तकनीक का उपयोग फ़ंक्शन रैपर के बाहर (जैसा कि अन्य दिखाया गया है) किया जा सकता है।
** चर आयात करना एक चीज जो आप कर सकते हैं वह डेटा का एक सेट जोड़ना है जिसे आप अपनी स्क्रिप्ट को चर के रूप में उजागर करना चाहते हैं। इसके बारे में सोचें जैसे टेम्पलेट में डेटा पास करना।
include2string('foo.php', array('key' => 'value', 'varibleName' => $variableName));
और अब $key
और $variableName
अपने foo.php फाइल के अंदर दिखाई होगा:
function include2string($file, array $vars = array()) {
extract($vars);
ob_start();
include($file);
return ob_get_clean();
}
आप इसे इस तरह से कहेंगे।
यदि आप स्पष्ट रूप से दिखते हैं तो आप अपनी स्क्रिप्ट के लिए "आयात" करने के लिए वैश्विक चर की एक सूची भी प्रदान कर सकते हैं।
function include2string($file, array $import = array()) {
extract(array_intersect_key($GLOBALS, array_fill_keys($import, 1)));
ob_start();
include($file);
return ob_get_clean();
}
और आप इसे कहेंगे, आप स्क्रिप्ट को उजागर करना चाहते वैश्विक की एक सूची उपलब्ध कराने के:
$foo='bar';
$boo='far';
include2string('foo.php', array('foo'));
foo.php
foo
, लेकिन नहीं boo
को देखने के लिए सक्षम होना चाहिए।
@safarov मेरा अनुमान है कि यह वाला नहीं है उसकी चर –
का मूल्यांकन मुझे लगता है कि यह test.php फ़ाइल में एक $ स्थानापन्न नहीं होंगे। मुझे जाँचने दो। – ppp