Tôi có một trang php bên trong một thư mục trên trang web của mình.PHP Nhận tên thư mục hiện tại
tôi cần phải thêm tên của thư mục hiện tại vào một biến ví dụ:
$myVar = current_directory_name;
Đây có phải là có thể?
Tôi có một trang php bên trong một thư mục trên trang web của mình.PHP Nhận tên thư mục hiện tại
tôi cần phải thêm tên của thư mục hiện tại vào một biến ví dụ:
$myVar = current_directory_name;
Đây có phải là có thể?
getcwd();
or
dirname(__FILE__);
or (PHP5)
basename(__DIR__)
http://php.net/manual/en/function.getcwd.php
http://php.net/manual/en/function.dirname.php
Bạn có thể sử dụng basename()
để có được phần đuôi của con đường :)
Trong trường hợp của bạn, tôi muốn nói rằng bạn có nhiều khả năng tìm kiếm để sử dụng getcwd()
, dirname(__FILE__)
hữu ích hơn khi bạn có tệp cần bao gồm thư viện khác và được đưa vào thư viện khác.
Ví dụ:
main.php
libs/common.php
libs/images/editor.php
trong bạn common.php
bạn cần phải sử dụng các chức năng trong editor.php
, vì vậy bạn sử dụng
common.php:
require_once dirname(__FILE__) . '/images/editor.php';
main.php
require_once libs/common.php
Bằng cách đó khi common.php là require'd
trong main.php
, cuộc gọi của require_once
trong common.php
sẽ bao gồm chính xác editor.php
trong images/editor.php
thay vì tìm trong thư mục hiện tại nơi main.php
được chạy.
Ví dụ
Your Path = /home/serverID_name/www/your_route_Dir/
THIS_is_the_DIR_I_Want
Một soultion rằng TRÌNH:
$url = dirname(\__FILE__);
$array = explode('\\\',$url);
$count = count($array);
echo $array[$count-1];
OP dường như đã chấp nhận câu trả lời cho vấn đề của họ. Mặc dù bạn đã thêm giá trị rõ ràng, bạn có cần lỗ thông hơi của mình ở đây không? – Dutts
http://stackoverflow.com/help/formatting sẽ giải thích cách làm cho mọi thứ ** in đậm ** tránh sử dụng các chữ cái mà bạn đã chỉ ra đúng là biểu thị la hét trên internet. – Dutts
Trên thực tế tôi thấy solutio tốt nhất n như sau:
$cur_dir = explode('\\', getcwd());
echo $cur_dir[count($cur_dir)-1];
nếu dir của bạn là www \ var \ đường dẫn \ Current_Path
thì đây trả Current_path
Xem ra, trong các máy chủ Linux, chúng tôi không sử dụng dấu gạch chéo ngược nhưng dấu gạch chéo. PHP có một hằng số phép thuật để biến nó thành nền tảng, xem 'PATH_SEPARATOR' – renoirb
echo basename(__DIR__); will return the current directory name only
echo basename(__FILE__); will return the current file name only
Miễn là bạn có PHP 5.3 hoặc cao hơn –
Để có được chỉ là tên của thư mục nơi tập lệnh được thực thi:
//Path to script: /data/html/cars/index.php
echo basename(dirname(__FILE__)); //"cars"
$ myVar = str_replace ('/', '', $ _ SERVER [REQUEST_URI]);
libs/hình ảnh /index.php kết quả: hình ảnh
Điều này làm việc cho tôi vì vậy tôi đã bỏ phiếu cho người xuống bình chọn mà không có bất kỳ lời giải thích nào. Ngăn xếp ngăn xếp có một số người dùng bị lừa đảo nhiều nhất trên mạng. Boooo Hisssssssssssss – warmwhisky
Và 'basename (__ __ DIR) 'trong PHP 5 – Xeoncross
@Xeoncross nhờ đã chỉ ra rằng :) –
này đem lại cho tôi toàn bộ con đường . Có cách nào để chỉ nhận tên thư mục không? – Satch3000