मुझे एक PHP फ़ाइल को एक चर में लोड करने की आवश्यकता है। पसंदinclude();
मैंने इस तरह एक साधारण HTML फ़ाइल लोड की है:
$Vdata = file_get_contents("textfile.txt");
लेकिन अब मुझे एक PHP फ़ाइल लोड करने की आवश्यकता है।
जवाबों:
मुझे लगता है कि आप PHP द्वारा उत्पन्न सामग्री प्राप्त करना चाहते हैं , यदि ऐसा है तो उपयोग करें:
$Vdata = file_get_contents('http://YOUR_HOST/YOUR/FILE.php');
अन्यथा यदि आप PHP फ़ाइल का स्रोत कोड प्राप्त करना चाहते हैं , तो यह एक .txt फ़ाइल के समान है:
$Vdata = file_get_contents('path/to/YOUR/FILE.php');
eval()या यदि आप अधिक जटिल कोड के साथ काम कर रहे हैं: github.com/nikic/PHP-Parser ।
$Vdata = file_get_contents(get_template_directory_uri() . '/path/to/file/in/theme.text');
ob_start();
include "yourfile.php";
$myvar = ob_get_clean();
$myvar = ob_get_clean();(देखें ob_get_clean प्रलेखन )
यदि आप http: // का उपयोग कर रहे हैं , तो जैसा कि सुझाव दिया गया है, आप केवल PHP स्क्रिप्ट के ouput को पढ़ने में सक्षम होंगे। आप PHP स्क्रिप्ट को केवल तभी पढ़ सकते हैं जब वह आपकी रनिंग स्क्रिप्ट के समान सर्वर पर हो। आप तब कुछ का उपयोग कर सकते हैं
$Vdata = file_get_contents('/path/to/your/file.php");
यदि आप फ़ाइल को वेबसर्वर के माध्यम से चलाने के बिना लोड करना चाहते हैं, तो निम्न कार्य करना चाहिए।
$string = eval(file_get_contents("file.php"));
यह तब फ़ाइल सामग्री का मूल्यांकन करेगा। इसका मूल्यांकन करने के लिए PHP फ़ाइल को पूरी तरह से <?phpऔर ?>टैग के साथ बनाने की आवश्यकता होगी eval।
सैद्धांतिक रूप से आप बस fopen का उपयोग कर सकते हैं, फिर स्ट्रीम_get_contents का उपयोग करें।
$stream = fopen("file.php","r");
$string = stream_get_contents($stream);
fclose($stream);
यह आपके लिए पूरी फ़ाइल को $ स्ट्रिंग में पढ़ना चाहिए, और इसका मूल्यांकन नहीं करना चाहिए। हालाँकि मुझे आश्चर्य है कि जब आप स्थानीय पथ निर्दिष्ट करते हैं तो file_get_contents काम नहीं करता था ...।
वैकल्पिक रूप से, आप आउटपुट बफ़रिंग शुरू कर सकते हैं, एक शामिल / आवश्यकता कर सकते हैं, और फिर बफ़र करना बंद कर सकते हैं। Ob_get_contents () के साथ, आप बस उस सामग्री को प्राप्त कर सकते हैं जो उस अन्य PHP फ़ाइल द्वारा एक चर में बनाई गई थी।
यदि आपकी फाइल में रिटर्न स्टेटमेंट इस तरह है:
<?php return array(
'AF' => 'Afeganistão',
'ZA' => 'África do Sul',
...
'ZW' => 'Zimbabué'
);
आप इसे इस तरह एक चर में प्राप्त कर सकते हैं:
$data = include $filePath;
अगर आपके सर्वर ने allow_url_fopen को बंद कर दिया है तो file_get_contents () काम नहीं करेगा । अधिकांश साझा वेब होस्ट सुरक्षा जोखिमों के कारण इसे डिफ़ॉल्ट रूप से बंद कर देते हैं। इसके अलावा, PHP6 में , allow_url_fopen विकल्प अब मौजूद नहीं होगा और सभी फ़ंक्शन ऐसा कार्य करेंगे जैसे कि इसे बंद करने की अनुमति है। तो यह उपयोग करने के लिए एक बहुत ही बुरा तरीका है।
यदि आप http के माध्यम से फ़ाइल एक्सेस कर रहे हैं तो उपयोग करने का आपका सबसे अच्छा विकल्प cURL है