Có một số cách để lấy thư mục làm việc hiện tại trong PHP tùy thuộc vào những gì bạn đang làm việc. Nói chung, bạn muốn sử dụng các phương pháp này để lập trình tìm ra tập lệnh đang chạy nằm trong thư mục nào
Thư mục làm việc hiện tại Sử dụng hàm PHP getcwd[]
Hàm PHP này trả về thư mục làm việc hiện tại nếu thành công và sai nếu thất bại. Hàm được gọi không có tham số
Trên một số biến thể Unix, getcwd[] sẽ trả về false nếu bất kỳ một trong các thư mục mẹ không được đặt chế độ tìm kiếm hoặc có thể đọc được, ngay cả khi thư mục hiện tại có.
Ví dụ
echo getcwd[];
Ví dụ trên sẽ xuất ra một cái gì đó tương tự như
/path/to/folder
Thư mục làm việc Sử dụng hàm dirname[] PHP
hàm dirname trả về đường dẫn của thư mục mẹ hoặc tùy thuộc vào các tham số mà bạn có thể xác định đường dẫn mẹ mà bạn muốn trả về bao xa
Để lấy thư mục hiện tại bằng dirname[], bạn cần thêm hằng số FILE được xác định trước PHP hoặc PHP_SELF
Ví dụ
require_once dirname[__FILE__] . '/folder/script.php';
echo dirname[$_SERVER[PHP_SELF]];
Một trong những ví dụ trên sẽ xuất ra một cái gì đó tương tự như
/path/to/folder
Sử dụng hàm cơ sở [] PHP
Hàm tên cơ sở trả về thành phần tên theo sau của đường dẫn
Ví dụ
echo "1] ".basename["/path/to/folder", ".d"].PHP_EOL;
echo "2] ".basename["/path/to"].PHP_EOL;
echo "3] ".basename["/path/"].PHP_EOL;
Các ví dụ trên sẽ xuất ra một cái gì đó tương tự như
1] folder
2] to
3] path
Phần kết luận
Bây giờ bạn đã học được ba cách để lấy thư mục làm việc hiện tại trong PHP
Tìm thấy bài viết này thú vị?
- Trang Chủ
- Trang chủ PHP
- Tham chiếu hàm PHP
- ▼Chức năng thư mục
- chdir
- chroot
- thư mục
- đóng cửa
- getcwd
- thư mục mở
- thư mục đọc
- tua lại
- người quét
Hàm chdir[] được sử dụng để thay đổi thư mục làm việc hiện tại thành một thư mục được chỉ định Phiên bản [PHP 4 trở lên] cú pháp Tham số NameDescriptionRequired / Giá trị trả về TRUE khi thành công hoặc FALSE khi thất bại Loại giá trị. Boolean Ví dụ Xem thêm Tham chiếu hàm PHPSự miêu tả
chdir[dir_name]
OptionalTypedir_nameThư mục hiện tại mới. Chuỗi bắt buộc
Trước. thời gian
Tiếp theo. chroot
PHP. Lời khuyên trong ngày
PHP. Tìm phần tử cuối cùng của một mảng trong khi sử dụng vòng lặp foreach trong PHP
________số 8Điều đó đang được nói, bạn không cần phải lặp lại một "mảng" bằng cách sử dụng foreach trong php
Giới thiệu. https. //chút. ly/3nEHqwB
- bài tập. Top 16 chủ đề phổ biến nhất hàng tuần
- Bài tập SQL, Thực hành, Lời giải - THAM GIA
- Bài tập, Thực hành, Giải pháp SQL - SUBQUERIES
- JavaScript cơ bản - Bài tập, Thực hành, Lời giải
- Mảng Java. Bài tập, Luyện tập, Lời giải
- Bài Tập Lập Trình C, Thực Hành, Lời Giải. Tuyên bố có điều kiện
- Cơ sở dữ liệu nhân sự - SORT FILTER. Bài tập, Luyện tập, Lời giải
- Bài Tập Lập Trình C, Thực Hành, Lời Giải. Chuỗi
- Kiểu dữ liệu Python. Từ điển - Bài tập, Thực hành, Lời giải
- Câu đố lập trình Python - Bài tập, Thực hành, Giải pháp
- Mảng C++. Bài tập, Luyện tập, Lời giải
- Câu lệnh điều kiện và vòng lặp JavaScript - Bài tập, Thực hành, Lời giải
- Thuật toán cơ bản C# Sharp. Bài tập, Luyện tập, Lời giải
- Python Lambda - Bài tập, Thực hành, Giải pháp
- Khung dữ liệu Python Pandas. Bài tập, Luyện tập, Lời giải
- Công cụ chuyển đổi
- JavaScript. Xác thực biểu mẫu HTML
Tôi thường thấy rằng những thứ đơn giản là những thứ bị lãng quên hoặc không biết nhất. Gần đây, tôi đang giúp đồng nghiệp học PHP và tôi thường được hỏi về cách di chuyển lên và xuống các cấp độ thư mục liên quan đến tệp hiện tại
Tôi biết hai cách tương đối đơn giản để thực hiện việc này; .
and one using realpath[].
Chúng tôi cũng sẽ sử dụng 'Hằng số ma thuật' trong bài đăng này, nhưng tôi đã giải thích những điều này một chút ở đây một cách khéo léo
Cấp thư mục sử dụng dirname[]
Nếu bạn đang sử dụng PHP 7. 0 trở lên thì cách tốt nhất để điều hướng từ đường dẫn tệp hoặc thư mục hiện tại của bạn là sử dụng dirname[]. Hàm này sẽ trả về thư mục mẹ của bất kỳ đường dẫn nào chúng ta chuyển đến nó. Trong PHP 7 trở lên, chúng tôi có thể chỉ định số lượng cấp độ chúng tôi muốn di chuyển. Để sử dụng điều này, trước tiên chúng tôi chuyển đường dẫn tệp hoặc thư mục dưới dạng một chuỗi, sau đó chỉ định số cấp chúng tôi muốn chuyển lên từ thư mục đó
Giả sử rằng tập lệnh của chúng ta đang chạy trong /path/to/file/index. php
$dir = dirname[__DIR__, 2];
echo $dir; // Result = "/path"
Bằng cách sử dụng 'Magic Constant' '__DIR__' và chỉ định cấp độ 2, chúng tôi đang yêu cầu dirname[] trả về 2 cấp độ từ cấp độ gốc của '__DIR__'. Trong trường hợp này '__DIR__' là '/path/to/file', nên cao hơn 2 cấp là '/path'
Nhớ. dirname[] trả về thư mục mẹ, vì vậy sử dụng ‘dirname[__DIR__]’ sẽ trả về thư mục mẹ của ‘__DIR__’
Nếu chúng ta sử dụng '__FILE__' thì hơi khác một chút
/path/to/folder
0Vì '__FILE__' trả về tệp trong chuỗi, nên thư mục mẹ là '/path/to/file'. Bằng cách chỉ định mức 2, giờ đây chúng tôi chuyển sang ‘/path/to’ thay vào đó
Các cấp thư mục sử dụng realpath[]
Nếu bạn đang sử dụng phiên bản PHP cũ hơn thì may mắn thay, chúng ta có thể sử dụng realpath[]
'Magic Constant' '__DIR__' đã được thêm vào PHP trong 5. 3, vì vậy đối với người 5. 3 đến 5. 6 chúng ta có thể di chuyển các cấp thư mục như thế này
Một lần nữa, giả sử rằng tập lệnh của chúng ta đang chạy trong /path/to/file/index. php
/path/to/folder
1Trong ví dụ này, realpath[] giải quyết tham chiếu ‘/. ’ liên quan đến ‘__DIR__’ và đưa chúng tôi lên 1 cấp cao hơn. Nếu chúng ta sử dụng ‘/. /. ’ sau đó chúng tôi sẽ chuyển lên 2 cấp cao hơn, v.v.
Nếu chúng ta quay trở lại xa hơn PHP 5. 3 thì chúng ta sẽ phải sử dụng realpath[], dirname[] và ‘Magic Constant’ ‘__FILE__’
Về cơ bản, realpath[] sẽ không chấp nhận tệp, chỉ chấp nhận đường dẫn. Điều này có nghĩa là chúng ta phải xóa 'chỉ mục. php' từ chuỗi '__FILE__' của chúng tôi. Có một số cách mà chúng ta có thể đạt được điều này, một trong số đó là sử dụng dirname[]
/path/to/folder
2Ví dụ này lấy thư mục mẹ của ‘__FILE__’ và sau đó giải quyết ‘/. ’ sử dụng realpath[] để di chuyển nó cao hơn 1 cấp