2009-12-11 16 views
5

चालू परियोजना मैं पर काम कर रहा हूँ के लिए संरचना कुछ की तरह है:पीएचपी एक में शामिल हैं (अलग निर्देशिका) के अंदर शामिल

  • जड़/index.php
  • जड़/शामिल/php/first.php
  • जड़/शामिल/php/functions.php

तो index.php first.php में शामिल हैं:

<?php include_once("includes/php/first.php"); ?> 
मान लिया जाये कि रिश्तेदार अभी भी सूचकांक पृष्ठ से होगा जब एक नया सर्वर यह काम नहीं किया में जाने

<?php include_once("includes/php/functions.php"); ?> 

:

आम तौर पर तो मेरे first.php जैसे कार्यों कॉल करेगा। मैंने first.php से सापेक्ष पथ बनाने का प्रयास किया:

include_once("functions.php"); 

और ऐसा लगता है कि अब यह काम करता है।

जो आमतौर पर ऐसा करने का सही तरीका होगा? मैं इस परियोजना को रोल करना चाहता हूं ताकि किसी को भी इसे स्थापित करने में सक्षम हो।

उत्तर

11

शामिल हैं जिसमें फ़ाइल शामिल है। क्या तुम सच में यकीन है कि बनाने के लिए और कोई अस्पष्टता से बचना चाहते हैं, तो आप ऐसा कर सकते हैं:

include dirname(__FILE__) . "/functions.php"; 
+0

बहुत बढ़िया धन्यवाद! यह सुनिश्चित नहीं है कि यह दूसरी तरफ से क्यों काम करता है लेकिन यह समाधान भविष्य के मुद्दों को हल करेगा – kilrizzy

+0

+1 - मैं ऐसा करने के लिए '$ _SERVER [' SCRIPT_FILENAME '] तत्व का उपयोग करने का सुझाव देने जा रहा था, लेकिन यह बहुत बेहतर है। – Atli

+2

मैं अपने PHP ऐप के लिए कुछ निश्चित विवरण तैयार करता हूं और – Andrew

0

मैं हमेशा का उपयोग करें:

include ($_SERVER['DOCUMENT_ROOT']."/include/php/functions.php"); 

इस तरह आप हमेशा पता है जहाँ आप (रूट से आने वाले) कर रहे हैं और आपका कोड स्थान से स्थान पर कॉपी किया जा सकता है।

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