2012-02-23 6 views
7

यह DIR और फ़ाइल की तरह

$dir = realpath(dirname(__FILE__)); 
// or for php 5.3+: 
$dir = realpath(__DIR__) 

या जादू स्थिरांक की तरह कुछ करने के लिए एक भावना है हमेशा निरपेक्ष पथ देता है, तो realpath बेमानी है?

उत्तर

8

आपको realpath() की आवश्यकता नहीं है।

__FILE__ के प्रलेखन:

पूरा पथ और फ़ाइल का फ़ाइल नाम। यदि किसी अंदर शामिल किया गया है, तो शामिल फ़ाइल का नाम वापस कर दिया गया है। चूंकि PHP 4.0.2, __FILE__ में सिमलिंक हल होने के साथ हमेशा एक पूर्ण पथ होता है जबकि पुराने संस्करणों में इसमें कुछ परिस्थितियों में सापेक्ष पथ होता है।

तो __FILE__ एक निरपेक्ष पथ =>realpath() अनावश्यक

रिटर्न और तुम __DIR__ का उपयोग करता है, तो:

फ़ाइल की निर्देशिका। यदि किसी अंदर शामिल किया गया है, तो की निर्देशिका शामिल फ़ाइल लौटा दी गई है। यह dirname (__FILE__) के बराबर है। इस निर्देशिका नाम में पिछला स्लैश नहीं है जब तक कि यह रूट निर्देशिका न हो। (PHP 5.3.0 में जोड़ा गया।)

__DIR__ भी एक निरपेक्ष पथ देता है क्योंकि dirname()__FILE__ =>realpath() अनावश्यक

+2

के मार्ग का पूर्ण हिस्सा कट नहीं है मन 'realpath रखें 'उन स्थितियों में अभी भी उपयोगी है जहां आप परिणामी '__DIR__' या' __FILE__' का उपयोग यूआरआई के उपसर्ग के रूप में करेंगे। उदाहरण के लिए '$ शामिल = realpath (__ DIR__।'/Path/to/file '); हालांकि, जैसा कि जवाब केवल' __FILE__' या '__DIR__' के साथ रीयलपैथ का उपयोग करने का वर्णन करता है, अनावश्यक है। – fyrye

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

  • कोई संबंधित समस्या नहीं^_^