程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> PHP中include和require絕對路徑、相對路徑問題,includerequire

PHP中include和require絕對路徑、相對路徑問題,includerequire

編輯:關於PHP編程

PHP中include和require絕對路徑、相對路徑問題,includerequire


在寫PHP程序時,經常要用到include或require包含其他文件,但是各文件裡包含的文件多了之後,就會產生路徑問題。

如下目錄:

<web>(網站根目錄)  
 ├<A>文件夾  
 │ │  
 │ └1.php  
 ├<B>文件夾  
 │ │  
 │ └2.php  
 └index.php 

現在根目錄下的index.php要包含A文件夾內的1.php文件,則用include "./A/1.php"即可

而1文件夾內的1.php又包含了B文件夾內的2.php,則1.php內寫上include "../B/2.PHP"即可

可是要知道,當index.php包含了1.php之後,編譯是在index.php裡進行的,也就是index.php所包含文件裡的include都是相對於index.php的,那麼1.php被包含進index.php裡了,那麼就要相對於index.php尋找2.php了。而上面說了,1.php裡寫的是include "../B/2.php",現在編譯文件已經相對於網站根目錄了(即相對於index.php),"../"則意味著還要再返回上一級目錄尋找,那麼怎麼會找得到。

在網上也尋找過一些方法,最好的辦法還是都采用絕對路徑方法較妥。可以定義一個單入口文件,將要包含的文件包含進來,定義一個常量define("__ROOT__",dirname(__FILE__));,那麼在寫後面的文件過程中,只需要采用絕對方式,加上__ROOT__就行了。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved