Đường dẫn tệp PHP từ gốc

Tùy thuộc vào cấu hình máy chủ của bạn, việc lấy thông tin đường dẫn chính xác có thể là một thách thức. Ví dụ: PHP không cung cấp biến sẽ trả về URL cơ sở của trang web của bạn. Để trợ giúp, bạn có thể sử dụng các đoạn mã sau để nhận đường dẫn tuyệt đối, gốc tài liệu và URL cơ sở tương ứng

Lấy đường dẫn tuyệt đối

Nếu tập lệnh của bạn được bao gồm trong /path/directory/, thì đoạn mã này

$base_dir = __DIR__;

trả về một cái gì đó như thế này [tùy thuộc vào đường dẫn máy chủ thực tế]

/var/www/path/example.com/httpdocs/path/directory

Lưu ý rằng kết quả không bao gồm dấu gạch chéo

Lấy tài liệu gốc

Cách dễ nhất, sạch nhất để lấy tài liệu gốc

$doc_root = $_SERVER['DOCUMENT_ROOT'];

mà trả về một cái gì đó giống như

/var/www/path/example.com/httpdocs

Lưu ý rằng kết quả không bao gồm dấu gạch chéo

Ngoài ra, bạn có thể làm điều này

$doc_root = preg_replace["!${_SERVER['SCRIPT_NAME']}$!", '', $_SERVER['SCRIPT_FILENAME']];

Cách thứ nhất được ưu tiên, cách thứ hai là thông tin của bạn

Nhận URL cơ sở của tập lệnh hiện tại

Đoạn mã này trả về URL cơ sở của tập lệnh hiện tại. Vì vậy, hãy nói rằng tập lệnh của chúng tôi được đưa vào bên trong /path/directory/ tại example.com. Để lấy URL cơ sở, hãy áp dụng đoạn mã sau

________số 8

A solution to that, is to prefix all include paths with:

$doc_root = $_SERVER['DOCUMENT_ROOT'];
0

$doc_root = $_SERVER['DOCUMENT_ROOT'];
1

$doc_root = $_SERVER['DOCUMENT_ROOT'];
2

$doc_root = $_SERVER['DOCUMENT_ROOT'];
3

$doc_root = $_SERVER['DOCUMENT_ROOT'];
4

$doc_root = $_SERVER['DOCUMENT_ROOT'];
5

$doc_root = $_SERVER['DOCUMENT_ROOT'];
6

$doc_root = $_SERVER['DOCUMENT_ROOT'];
7

Giả sử tập lệnh PHP hiện tại của bạn được tạo trong thư mục “chính”, nhưng bây giờ, bạn muốn lấy thư mục cơ sở. Vì vậy, bạn sẽ in $_SERVER[“DOCUMENT_ROOT”] để nhận kết quả cần thiết. Hơn nữa, đầu ra sẽ chứa đường dẫn thư mục gốc PHP hoàn chỉnh. Ngoài ra, bạn có thể dễ dàng xác định thư mục mẹ từ kết quả được trả về bởi hàm $_SERVER[“DOCUMENT_ROOT”]

Vui lòng xem cách mảng $_SERVER hỗ trợ quá trình tìm kiếm thư mục gốc của bạn


// lấy thư mục hiện tại của bạn
echo getcwd[];
// đầu ra. C. xampphtdocsmain
// in đường dẫn thư mục gốc
echo $_SERVER[“DOCUMENT_ROOT”];
// xuất. C. xampphtdocs
?>

Nhận thư mục cơ sở. Thực thi chức năng Dirname[]

Chắc chắn, bạn không cần phải lo lắng nếu phiên bản PHP hiện đang cài đặt của bạn dưới 5. 3. 0 vì bạn có thể thực thi hàm dirname[] . Hàm dirname[] sẽ cho phép bạn chuyển đường dẫn tệp hoặc thư mục cần thiết và một số mức tùy chọn. Tiếp theo, hàm tương tự sẽ trả về đường dẫn thư mục gốc PHP với độ chính xác tối đa.

Hơn nữa, cú pháp của nó ở ngay đây. dirname [đường dẫn, cấp độ]

– Thảo luận về Tham số cấp độ trong PHP Phiên bản 7 trở lên

Trong PHP phiên bản 7 trở lên, hàm dirname[] cho phép bạn chỉ định số lượng cấp độ trong khi lấy thư mục gốc PHP. Bạn có thể chuyển một giá trị số nguyên ở trên một giá trị làm đối số thứ hai cho hàm dirname[]. Ví dụ: nếu bạn muốn PHP lấy thư mục cơ sở cao hơn một cấp so với thư mục hiện tại của bạn, thì bạn sẽ vượt qua hai cấp, v.v.

– Ví dụ mã hóa để lấy thư mục gốc PHP bằng cách sử dụng Dirname[]

Hãy tưởng tượng có một tệp script được lưu trong thư mục “src” tồn tại trong thư mục “MyWebsite” với đường dẫn. "C. xampphtdocsMyWebsitesrc. ” Bây giờ, giả sử bạn cũng muốn lấy thư mục cơ sở tồn tại ba cấp trên tệp tập lệnh của bạn. Ở đây, cách đơn giản nhất để chuyển đường dẫn của tệp hiện tại của bạn tới hàm dirname[] là chuyển hằng số __FILE__ cho nó. Tiếp theo, bạn sẽ vượt qua ba là số cấp độ

Vui lòng xem biểu diễn mã này mô tả ví dụ đã nêu theo cách dễ nhất có thể để bạn có thể sử dụng nó trong thực hành lập trình của mình


// printing your current directory
echo getcwd[];
// output: C:xampphtdocsMyWebsitesrc
// printing the third level root directory path
echo dirname[__FILE__, 3];
// output: C:xampphtdocs
?>

Đường dẫn gốc PHP. Sử dụng Dirname[] Với __DIR__

Bạn có đang sử dụng phiên bản PHP 5 không. 3. 0 trở lên và đang tìm giải pháp để lấy đường dẫn gốc PHP? . Hằng số đã cho sẽ trả về đường dẫn của thư mục hiện tại của bạn và hàm dirname[] sẽ trả về thư mục gốc PHP của cùng. dirname[] function. The given constant will return the path of your current directory and the dirname[] function will return the PHP root directory of the same.

– Ví dụ mã hóa để lấy đường dẫn gốc PHP bằng cách sử dụng __DIR__

Chẳng hạn, hãy thảo luận về một trường hợp trong đó thư mục chính của dự án PHP của bạn là “MyProject” và nó được lưu trong thư mục “htdocs” nằm trong thư mục xampp trong ổ C. Thư mục giả định này bao gồm hai thư mục con. “nội dung” và “hình ảnh” và tệp hiện tại của bạn “myFile. php” nằm trong thư mục “assets”

Bây giờ, bạn có thể muốn PHP lấy đường dẫn thư mục cơ sở của thư mục hiện tại của bạn. Tại đây, bạn chỉ cần chuyển hằng số ma thuật __DIR__ cho hàm dirname[] để thu được kết quả chính xác

Vui lòng sử dụng đoạn mã ngắn mà chúng tôi đã cung cấp cho bạn bên dưới để triển khai hàm dirname[] với hằng số __DIR__


// getting the root path of the assets directory
echo dirname[__DIR__];
// output: C:xampphtdocsMyProject
?>

Cách truy cập thư mục gốc trong PHP. Sử dụng Chroot[]

Vì vậy, nếu bạn là người dùng Hệ điều hành BSD hoặc GNU thì tại đây, bạn sẽ thấy cách truy cập thư mục gốc trong PHP. Bạn có thể đặt thư mục hiện tại thành “/” bằng cách triển khai chức năng chroot[] trong CGI, CLI hoặc Embed SAPI. Ngoài ra, chức năng tương tự thay đổi đường dẫn của thư mục gốc PHP. Do đó, chức năng đáng kinh ngạc của hàm chroot[] sẽ làm bạn ngạc nhiên rất nhiều.

Không thể phủ nhận, hàm đã cho chấp nhận một thư mục dường như thay đổi thư mục gốc PHP của quy trình hiện tại thành giống nhau và biến “/” thành thư mục hiện tại

Bạn sẽ cần sử dụng cú pháp này trong bất kỳ mã liên quan nào mà bạn định tạo. chroot[thư mục]

– Ví dụ mã hóa để sử dụng Hàm Chroot[]

Ví dụ: giả sử bạn muốn thay đổi đường dẫn của thư mục gốc. Thứ hai, bạn cũng muốn truy cập thư mục gốc của mình. Trong trường hợp này, bạn sẽ sử dụng hàm chroot[] theo cú pháp trên. Do đó, bạn sẽ đáp ứng cả hai yêu cầu của mình

Đây là một đoạn mã để giúp bạn chuyển sang thư mục gốc một cách dễ dàng


// echo your current directory
echo getcwd[];
// output: C:xampphtdocsMyFolder
// using the chroot function
chroot[“/NewFolder/”];
// echo your current directory again
echo getcwd[];
// output: /
?>

- Ghi chú

Hàm chroot[] không hoạt động trên Hệ điều hành Windows trong khi nó yêu cầu quyền root trên các hệ thống đã nêu ở trên

PHP Nhận thư mục gốc của trang web. Lên hàng đầu

Bạn có thư mục trang web lớn bao gồm nhiều thư mục, thư mục con và tệp khác nhau không? . Cuối cùng, bạn sẽ PHP nhận được thư mục gốc của trang web mà không lãng phí thời gian đếm ngược các cấp. explode[] function and the $_SERVER variable. In the end, you’ll PHP get root directory of website without wasting your time in counting the levels backward.

– Ví dụ mã hóa để lấy thư mục gốc của trang web

Ví dụ: chúng tôi đang tạo một trường hợp giả định trong đó tệp hiện tại của bạn “newFile. php” có đường dẫn “C. xampphtdocstrang webtài sảntrang chínhquản trị viênliên hệmớiTệp. php. ” Nhưng bây giờ, bạn muốn truy cập thư mục trên cùng của nó

Trong tình huống nhất định, bạn sẽ sử dụng hàm phát nổ và chuyển đổi đường dẫn được trả về bởi $_SERVER[“DOCUMENT_ROOT”] thành một mảng bằng cách sử dụng “/” làm dấu phân cách. Tiếp theo, bạn sẽ truy cập phần tử đầu tiên của mảng đường dẫn kết quả để lấy thư mục gốc PHP của bạn

Vui lòng xem qua đoạn mã được cung cấp bên dưới để được hỗ trợ thêm

Chủ Đề