2012-12-26 10 views
7

मैं सर्वर में प्रत्येक एक्सप्रेशन पर एक PHP स्क्रिप्ट शामिल करना चाहता हूं, मैं इसे एक सेटिंग के माध्यम से PHP ini के माध्यम से करने के लिए रोक रहा था या php में एक विस्तार लिखने में सक्षम था जो सरल था और मेरे PHP स्क्रिप्ट।PHP ऑटो में

+4

आप 'auto_prepend_file' विकल्प की तलाश में हैं। – Maerlyn

+0

यदि आपने इसे नीचे पोस्ट किया है तो आपको सही उत्तर दिया गया था, आपको – WojonsTech

+1

बिंदु [स्वचालित रूप से PHP में फ़ाइल को कैसे शामिल करें?] (Http://stackoverflow.com/questions/5827594/how- टू-इन-ए-फाइल-स्वचालित-इन-पीएचपी) – Jocelyn

उत्तर

17

आप अपने php.ini फ़ाइल में auto_prepend_file निर्देश सेट कर सकते हैं:

http://php.net/manual/en/ini.core.php#ini.auto-prepend-file

+0

एक आकर्षण की तरह काम करता है मुझे नहीं पता था कि यह अस्तित्व में कभी नहीं देखा गया था। – WojonsTech

4

तो अपाचे चल रहा है और उपयोग कर सकते हैं .htaccess आप अन्यथा निम्नलिखित @ पर देखने के लॉक का जवाब कर सकते हैं

prepend.php: 
<?php 
echo "<p>this is the prepended file</p>\n"; 

main.php: 
<?php 
echo "<p>this is the main file</p>\n"; 

append.php: 
<?php 
echo "<p>this is the appended file</p>\n"; 

और prepend.php को प्रीपेन्ड करें और नीचे दिए गए निर्देशों का उपयोग करके append.php को संलग्न करें, जब main.php को निम्न कहा जाता है तो स्क्रिप्ट से आउटपुट किया जाएगा:

<p>this is the prepended file</p> 
<p>this is the main file</p> 
<p>this is the appended file</p> 

और आगे जोड़ते prepend.php और नीचे दिए गए निर्देशों का उपयोग कर append.php संलग्न है, जब main.php निम्न स्क्रिप्ट से outputted होगा जो कहा जाता है:

<p>this is the prepended file</p> 
<p>this is the main file</p> 
<p>this is the appended file</p> 

एक स्क्रिप्ट

prepending फ़ाइल को प्रीपेड करने के लिए, इसे मुख्य स्क्रिप्ट से पहले पार्स किया गया है, निम्न सेटिंग को .htaccess फ़ाइल में जोड़ें, php.ini (जो निश्चित रूप से सभी वेबसाइटों को प्रभावित करेगा), या कॉन्फ़िगरेशन:

php_value auto_prepend_file prepend.php 

एक पथ को शामिल करने की आवश्यकता नहीं है, लेकिन यदि ऐसा नहीं है तो यह इसे ढूंढने के पथ को शामिल करेगा। इसके परिणामस्वरूप "चेतावनी: अज्ञात: स्ट्रीम खोलने में असफ़ल: त्रुटि 0 पर अज्ञात में ऐसी कोई फ़ाइल या निर्देशिका नहीं हो सकती है" यदि इस फ़ाइल की कोई प्रतिलिपि उस पथ या निर्देशिका में शामिल नहीं है जिसमें स्क्रिप्ट है। तो यह सर्वोत्तम है प्रीपेन्ड फ़ाइल के लिए पूरा रास्ता है। एक स्क्रिप्ट संलग्न करना

यह लगभग एक स्क्रिप्ट तैयार करने जैसा ही है और वही नोट लागू होते हैं।

php_value auto_append_file append.php 

एक सेटिंग तो कुछ भी नहीं prepended या

जोड़ा जाता है ओवरराइड करना यदि आप किसी मौजूदा auto_append_file ओवरराइड या करने के लिए मूल्य निर्धारित करके सेटिंग आप ऐसा कर सकते हैं auto_prepend_file करने की जरूरत है: जिस तरह से एक फ़ाइल संलग्न करने के लिए इस प्रकार है इसलिए जैसे "कोई नहीं":

php_value auto_prepend_file none 
php_value auto_append_file none 

यह उपयोगी है अगर आप .htaccess एक वेबसाइट के रूट स्तर पर संलग्न/बढ़ाएँ फ़ाइल सेट करना चाहते हो सकता है, लेकिन फिर किसी विशेष उप निर्देशिका संलग्न या आगे जोड़ते ऐसा नहीं करना चाहते हैं । आप उस उपनिर्देशिका में एक नई। Htaccess फ़ाइल बनायेंगे जो उन्हें ऊपर के रूप में सेट नहीं करता है।

स्रोत: http://www.electrictoolbox.com/php-automatically-append-prepend/

+0

मैं पहले इस तरह कुछ सोच रहा था लेकिन यह उन ग्राहकों के लिए है जो अपाचे या nginx या कुछ भी चुन सकते हैं। – WojonsTech

3

एक अन्य समाधान है, अगर आप अपाचे पर हैं और यह आपके लिए उपलब्ध है, .htaccess उपयोग करने के लिए है।फिर मेरे PHP फ़ाइलों में, मैं शामिल कर सकते हैं

include_once('someconfig.php');

जो /var/www/mysite.com/config/ में लग रहा है

php_value include_path "/var/www/mysite.com/config"

और: मैं एक पंक्ति जोड़ें। माना जाता है कि, मैंने ऑटो-प्रीपेड समाधान को जानने के बिना ऐसा किया है - जो बहुत साफ और अधिक कुशल दिखता है।

+0

यह मेरा पहला विचार भी था, लेकिन मैं उन सभी फ़ाइलों को उस लाइन को जोड़ना नहीं चाहता था, मुझे उम्मीद थी कि यह वैश्विक होगा इसलिए स्क्रिप्ट के लिए कोई भी मोड सर्वर स्तर पर होने की आवश्यकता नहीं है – WojonsTech

संबंधित मुद्दे