PHP 如何取得 現在檔案的目錄 與 上層目錄


PHP 要取得現在的檔案 路徑 + 檔名, 可以用 PHP 的 Magic constants 來取, 使用 __FILE__ 就可以抓到, 其它可以再搭配 dirname()basename() 來應用.

環境

  • /var/www/project/test.php

取的現在檔案、目錄、上層目錄

於 test.php 內, 要做取得路徑、目錄等, 可見下述:

取得 路徑 + 檔名 (要取得 /var/www/project/test.php)
  • echo __FILE__;
取得 檔名 (要取得 test.php)
  • echo basename(__FILE__);
取得 不含附檔名的檔名 (要取得 test)
  • echo basename(__FILE__, '.php');
取得 到此目錄前的完整 PATH, 不含檔名 (要取得 /var/www/project)
  • echo dirname(__FILE__);
取得 到上層目錄前的完整 PATH (要取得 /var/www)
  • echo dirname(dirname(__FILE__));
應用

同理, 於網址也可以做同樣的事, 此為 CakePHP 的網址: http://www.example.com/myweb/cake/news/view/1, 希望取得 http://www.example.com/myweb/cake 該如何做?

  • echo dirname(dirname(dirname('http://www.example.com/myweb/cake/news/view/1')));
  • 註: 這個方法只是 dirname() 直接拿來應用, CakePHP 應該有更簡易的抓法, 沒去研究就是了. Orz..

關於 Tsung

對新奇的事物都很有興趣, 喜歡簡單的東西, 過簡單的生活.
本篇發表於 Programming。將永久鏈結加入書籤。

PHP 如何取得 現在檔案的目錄 與 上層目錄 有 7 則回應

  1. 賭神 說道:

    請問板大
    我想要用Excel匯入外部資料的功能,抓取證交所網頁資料
    可是有些資料(像是三大法人的買賣超)
    他們的網址並沒有全部顯示出來,
    要如何得知他們的正確網址 ?
    感謝版大賜教 !!

  2. Tsung 說道:

    我對這個不熟耶.
    應該直接去他的網站再想辦法翻翻看?

  3. ekeyzhao 說道:

    可以获取到当前PHP以及他后面的参数吗?
    比如: http://****.com/index.php?id=9&prent=0
    如何写一句PHP可以获取到 'index.php?id=9&prent=0'
    我是说不用再处理,直接获取到
    谢谢
    ekeyzhao@yahoo.cn 祖国的朋友

  4. Tsung 說道:

    echo $_SERVER['REQUEST_URI']; 就有了~ 🙂

  5. 赵鑫 說道:

    如果您喜欢简单,您也许会喜欢我写的blog系统的简单。尽管是初学php等web语言,但是喜欢简洁的我,不希望在wordpress的前后台跳来跳去,就自己写起了php。不过,我想得到喜欢php的朋友们的帮助和指正,把程序写的更好。

發表迴響