2012-08-13 14 views
13

केवल पुष्टि के लिए, उपयोग कर रहा है:दस्तावेज़ रूट पीएचपी

$_SERVER["DOCUMENT_ROOT"] 

एक ही का उपयोग कर के रूप में:/

HTML में

ईजी। तो वर्तमान दस्तावेज़ है:

folder/folder/folder/index.php 

मैं (HTML में) इस्तेमाल कर सकते हैं roort पर शुरू करने के लिए: उपयोग करने के लिए PHP में

/somedoc.html 

और ऐसा करने के लिए एक ही मैं होता:

$_SERVER["DOCUMENT_ROOT"] . "/somedoc.html"; 

क्या यह सही है? क्या ऐसा करने का कोई आसान तरीका है?

उत्तर

18
<a href="<?php echo $_SERVER['DOCUMENT_ROOT'].'hello.html'; ?>">go with php</a> 
<br /> 
<a href="/hello.html">go to with html</a> 

इसे स्वयं आज़माएं और पाते हैं कि वे बिल्कुल वही नहीं हैं।

$ _SERVER [ 'DOCUMENT_ROOT'] एक वास्तविक फ़ाइल पथ (अपने कंप्यूटर चल रहा है पर के रूप में यह है अपने सर्वर, ग renders:/WAMP/www/

एचटीएमएल के/सर्वर यूआरएल की जड़, मेरे मामले में renders , स्थानीय होस्ट/

लेकिन सी:। /wamp/www/hello.html और स्थानीय होस्ट/hello.html वास्तव में एक ही फाइल

+1

यदि आप इसका उपयोग करना चाहते हैं तो इसमें शामिल हैं(), यह ऊपर एक हाइपर-लिंक के मुकाबले एक अलग मुद्दा है। –

+0

मेरा उत्तर पोस्ट करने का कोई कारण नहीं है क्योंकि मैं यह कहने जा रहा हूं। –

+0

इसमें क्या शामिल है? – Andrew

5

बस / सार्वजनिक एचटीएमएल फ़ोल्डर से अपनी वेबसाइट की जड़ को दर्शाता हैं DOCUMENT_ROOT उस सर्वर पर फ़ोल्डर के स्थानीय पथ को संदर्भित करता है जिसमें आपकी वेबसाइट है।

उदाहरण के लिए, मैं एक मशीन पर EasyPHP सेटअप है ...

$_SERVER["DOCUMENT_ROOT"] मुझे file:///C:/Program%20Files%20(x86)/EasyPHP-5.3.9/www देता है, लेकिन किसी भी फाइल मैं सिर्फ / साथ से लिंक मेरी www फ़ोल्डर के सापेक्ष किया जाएगा।

यदि आप अपने सर्वर (सर्वर की रूट से) पर फ़ाइल को पूर्ण पथ देना चाहते हैं तो आप DOCUMENT_ROOT का उपयोग कर सकते हैं। अगर आप अपनी वेबसाइट की रूट से फ़ाइल को पूर्ण पथ देना चाहते हैं, तो बस / का उपयोग करें।

-2

ऐसा करने का सबसे आसान तरीका अच्छी साइट संरचना होना और इसे स्थिर के रूप में लिखना है।

DEFINE("BACK_ROOT","/var/www/"); 
+1

मुझे इसकी पुरानी जानकारी है, लेकिन मैं इस पर ठोकर खाई, यदि आप पहले से ही अधिक स्थिर हैं तो आप अधिक स्थिरांक क्यों बनायेंगे एक php परिभाषित सर्वर लगातार ऐसा करता है, कोड, सीपीयू और मेमोरी का कचरा – DarkMukke

+0

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

+5

हां लेकिन इस तरह आप स्क्रिप्ट सिस्टम या स्थान पर निर्भर हो जाते हैं, जो कभी नहीं होना चाहिए, ऐप्स पोर्टेबल होना चाहिए – DarkMukke

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