PHP路徑,怎麼調用自己伺服器的路徑?

來源:互聯網
上載者:User
關鍵字 php
我現在都是自己在單機做一些實驗,比如要調用自己堂兄弟的路徑,我問問在真正項目裡,都怎麼調用使用路徑?

如果C:\AppServ\www\YB-PHP\PathDemo\China\ShanDong\LinYi\03.php調用C:\AppServ\www\YB-PHP\PathDemo\China\JiangSu\NanJing\NanJingEcho.php就得寫:include('../../JiangSu/NanJing/NanJingEcho.php');

這樣囉嗦不說,還老是容易弄錯幾個"../",每次我數這個,我都弄得好糊塗,怎麼寫簡單點?

我問了一下,別人告訴我用常量定義伺服器:

define('BASEPATH', 'C:\AppServ\www\YB-PHP\PathDemo\China\');include(BASEPATH . 'JiangSu/NanJing/NanJingEcho.php');

好像有個什麼許可權問題,我想問問,真正做項目的時候,都怎麼使用父路徑,堂兄弟路徑,本機路徑?保證自己換伺服器,項目還能用?

回複內容:

我現在都是自己在單機做一些實驗,比如要調用自己堂兄弟的路徑,我問問在真正項目裡,都怎麼調用使用路徑?

如果C:\AppServ\www\YB-PHP\PathDemo\China\ShanDong\LinYi\03.php調用C:\AppServ\www\YB-PHP\PathDemo\China\JiangSu\NanJing\NanJingEcho.php就得寫:include('../../JiangSu/NanJing/NanJingEcho.php');

這樣囉嗦不說,還老是容易弄錯幾個"../",每次我數這個,我都弄得好糊塗,怎麼寫簡單點?

我問了一下,別人告訴我用常量定義伺服器:

define('BASEPATH', 'C:\AppServ\www\YB-PHP\PathDemo\China\');include(BASEPATH . 'JiangSu/NanJing/NanJingEcho.php');

好像有個什麼許可權問題,我想問問,真正做項目的時候,都怎麼使用父路徑,堂兄弟路徑,本機路徑?保證自己換伺服器,項目還能用?

明顯2是更好的方案,不存在你考慮的什麼許可權問題:如果真的有許可權問題,那麼你使用 ../../的形式的時候該問題同樣會發生
方案2也是通常使用的方式,實際上會更複雜,如:

defined('BASE_PATH') || define('BASE_PATH', __DIR__);defined('UPLOAD_BASE_URL') || define('UPLOAD_BASE_URL', '/uploads');defined('UPLOAD_PATH') || define('UPLOAD_PATH', BASE_PATH . UPLOAD_BASE_URL);//等等

具體引用檔案時則看哪個方便,比如

require_once(BASE_PATH . '/app/functions.php');//或者require_once(__DIR__ . '/functions.php');

都是OK的。
要學會使用__FILE__, __DIR__,這是最好的方式,而直接寫出路徑,如c:/workspace/project/app/functions.php,那以後項目部署到linux上怎麼辦?

所以,要充分考慮到遷移。

希望有協助。

跨項目調用?一般都是開放一個介面?或者兩個項目都要這個資料?那就單獨開一個API的項目

又或者是一個項目裡你要調用資料庫驅動類庫?那就把這個類庫放找一個lib目錄下統一去include?

一般都是這樣一步一步推進去解決問題的,用實際情況去分析解決問題

  • 相關文章

    聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.