Thật dễ dàng để lấy tên tệp và các thành phần tên thư mục của một tên đường dẫn đầy đủ với PHP bằng cách sử dụng các hàm dirname (), basename () và pathinfo (). Cái sau cũng chứa phần mở rộng của tên tệp.
Đường dẫn tệp đầy đủ ví dụ
Đường dẫn tệp đầy đủ được sử dụng trong các ví dụ này là:
$ path = "/var/www/mywebsite/htdocs/images/myphoto.jpg";
Lấy tên thư mục bằng dirname ()
Hàm dirname () của PHP chỉ trả về phần thư mục của đường dẫn đầy đủ. Điều này được thực hiện bằng cách loại trừ phần cuối của đường dẫn đầy đủ dựa trên bộ phân tách thư mục (/ on * nix dựa trên hệ thống tập tin và \ trên Windows) và không kiểm tra được thực hiện để xem nếu nó thực sự là một thư mục.
echo dirname ($ path)
sẽ lặp lại
/ var / www / mywebsite / htdocs / hình ảnh
Lưu ý rằng cả hai điều sau đây:
echo dirname ("/ var / www / mywebsite / htdocs / images /");
echo dirname ("/ var / www / mywebsite / htdocs / images");
sẽ lặp lại
/ var / www / mywebsite / htdocs
Lấy tên tệp bằng tên cơ sở ()
Để chỉ lấy phần tên tệp của đường dẫn đầy đủ, hãy sử dụng hàm basename (). Lưu ý một lần nữa nó chỉ là phần cuối của con đường được coi là tên tập tin và không có thử nghiệm được thực hiện để xem nếu nó thực sự là một tập tin.
echo basename ($ path);
sẽ lặp lại
myphoto.jpg
và
echo basename ("/ var / www / mywebsite / htdocs / images");
sẽ vang vọng
hình ảnh
Lấy tên thư mục, tên tệp và phần mở rộng bằng pathinfo ()
Hàm pathinfo () của PHP trả về một mảng kết hợp có chứa tên cơ sở, dirname, phần mở rộng và (từ PHP 5.2.0) tên tệp mà không có phần mở rộng.
print_r (pathinfo ($ path));
sẽ lặp lại
Mảng
(
[dirname] => / var / www / mywebsite / htdocs / hình ảnh
[basename] => myphoto.jpg
[tiện ích mở rộng] => jpg
[filename] => myphoto
)