क्योंकि क्रॉन नौकरियों के लिए "वर्तमान कार्यशील निर्देशिका" निर्देशिका जहाँ आपके crontab फ़ाइल मौजूद होगा - इसलिए किसी भी संबंधित पथ है कि निर्देशिका के सापेक्ष के साथ।
इसे संभालने का सबसे आसान तरीका dirname()
फ़ंक्शन और PHP __FILE__
स्थिर है। अन्यथा, जब भी आप फ़ाइल को किसी भिन्न निर्देशिका या किसी भिन्न फ़ाइल संरचना वाले सर्वर पर ले जाते हैं, तो आपको फ़ाइल को नए पूर्ण पथों से संपादित करने की आवश्यकता होगी।
dirname(__FILE__)
__FILE__
एक निरंतर फ़ाइल जिसमें से यह कहा जाता है का पूरा पथ के रूप में पीएचपी द्वारा परिभाषित किया गया है। भले ही फ़ाइल शामिल है, __FILE__
हमेशा फ़ाइल के पूर्ण पथ को संदर्भित करेगा - फाइल सहित।
तो dirname(__FILE__)
फ़ाइल युक्त निर्देशिका में पूर्ण निर्देशिका पथ देता है - इससे कोई फर्क नहीं पड़ता कि यह कहां से शामिल है और basename(__FILE__)
फ़ाइल नाम स्वयं लौटाता है।
उदाहरण: के "/home/user/public_html/index.php" भी शामिल है "/home/user/public_html/your_directory/your_php_file.php" नाटक करते हैं।
यदि आप "your_php_file.php" में dirname(__FILE__)
पर कॉल करते हैं तो आपको "/ home/user/public_html/your_directory" मिल जाएगा, भले ही सक्रिय स्क्रिप्ट "/ home/user/public_html" में हो (पीछे की अनुपस्थिति को नोट करें स्लैश)।
आप सहित फ़ाइल उपयोग की निर्देशिका की जरूरत है: dirname($_SERVER['PHP_SELF'])
जो "/ घर/उपयोगकर्ता/public_html" लौट सकते हैं और एक ही है जाएगा "index.php" फ़ाइल में dirname(__FILE__)
बुला के बाद से संबंधित पथ ही कर रहे हैं के रूप में।
उदाहरण उपयोगों:
@include dirname(__FILE__) . '/your_include_directory/your_include_file.php';
@require dirname(__FILE__) . '/../your_include_directory/your_include_file.php';
यह रूप में अच्छी तरह के लिए एक महान संसाधन है: http://stackoverflow.com/questions/2857712/सक्षम-उचित-सापेक्ष-पथ-इन-क्रॉन – Webnet