Dirname (__ __file__ trong php)

Hàm dirname trong php dùng để lấy tên thư mục cha của đường dẫn truyền vào hàm. Hàm dirname là 1 trong các hàm liên quan tới việc xử lý file, folder trong PHP.

  • Định Nghĩa.
  • Cú pháp.
    • Cú pháp:
    • Trong đó.
    • Giá trị trả về.
  • Ví dụ.
  • Một số hàm liên quan tới hàm dirname trong php
  • Các thông tin khác về hàm dirname trong PHP

Định Nghĩa.

Hàm dirname() sẽ chỉ ra thư mục cha của đường dẫn truyền vào.
Hàm tương thích trên PHP4, PHP5, PHP7.

Cú pháp.

Cú pháp:

dirname ( string $path [, int $levels = 1 ] ) : string

Lưu ý: tham số $level được thêm vào từ PHP 7.0.0 trở lên.

Trong đó.

  • $path là đường dẫn tới file hoặc thư mục nào đó.
  • $level là số cấp chênh lệch giữa vị trí của $path so với kết quả trả về.

Giá trị trả về.

  • Trả về đường dẫn của thư mục cha. Nếu không có dấu gạch chéo trong đường dẫn, dấu chấm (‘.’) Được trả về, cho biết thư mục hiện tại. Mặt khác, chuỗi trả về là đường dẫn với bất kỳ dấu / thành phần nào bị xóa.

Ví dụ.

code:

kết quả:

/etc
/ (or \ on Windows)
.
C:\
/usr

Một số hàm liên quan tới hàm dirname trong php

  • basename() – Trả về đuôi cuối cùng của một đường dẫn.
  • pathinfo() – Trả về thông tin về đường dẫn tệp
  • realpath() – Trả về tên đường dẫn tuyệt đối được chuẩn hóa

Các thông tin khác về hàm dirname trong PHP

  • Kể từ phiên bản PHP 5.3.0, bạn có thể sử dụng __DIR__ thay thế cho dirname (__ FILE__)
  • Để có được thư mục của tập tin bao gồm hiện tại:

    Ví dụ: nếu một tập lệnh có tên ‘cơ sở dữ liệu.init.php’ được bao gồm từ bất kỳ đâu trên hệ thống tập tin muốn bao gồm tập lệnh ‘database. Class.php’, nằm trong cùng một thư mục, bạn có thể sử dụng:

  • Chú ý với điều này. Dirname thích lộn xộn với các dấu gạch chéo. Trên Windows, Apache:
    ';
    echo 'Dirname($_SERVER[PHP_SELF]: ' . dirname($_SERVER['PHP_SELF']) . '
    '; ?>

    kết quả:

    $_SERVER[PHP_SELF]: /index.php
    Dirname($_SERVER[PHP_SELF]: \

Các bạn có thể xem chi tiết hơn trên php.net.

Hi vọng với bài viết này, bạn đã hiểu rõ ứng dụng của hàm dirname() trong PHP. Nếu bạn thấy bài viết hay và có ý nghĩa hãy like và chia sẻ bài viết này để mọi người cùng nhau học tập nhé.
Cảm ơn các bạn đã ghé thăm codetutam.com



Hằng số Magic trong PHP là các hằng số được định nghĩa trước trong PHP được thay đổi trên cơ sở sử dụng của chúng. Chúng bắt đầu bằng dấu gạch dưới kép và kết thúc bằng dấu gạch dưới kép (__).

Chúng tương tự như các hằng số được định nghĩa trước khác nhưng giá trị của chúng được thay đổi theo ngữ cảnh, nên chúng được gọi là hằng số magic.

Có tám hằng số magic được định nghĩa trong bảng dưới đây. Chúng phân biệt chữ hoa chữ thường.

NameDescription
__LINE__ Đại diện cho số dòng hiện tại nơi nó được sử dụng.
__FILE__ Đại diện cho đường dẫn đầy đủ và tên file của file. Nếu nó được sử dụng bên trong một file khác bằng từ khóa include, nó trả về tên của file được include.
__DIR__ Biểu diễn đường dẫn thư mục đầy đủ của file. Tương đương với dirname(__ file__). Nó không có dấu gạch chéo trừ khi nó là một thư mục gốc.
__FUNCTION__ Đại diện cho tên hàm nơi nó được sử dụng. Trả về blank khi nó không được sử dụng bên trong hàm nào.
__CLASS__ Đại diện cho tên lớp nơi nó được sử dụng. Trả về blank khi nó không được sử dụng bên trong lớp nào.
__TRAIT__ Trả về tên của đặc tính nơi mà nó được sử dụng. Trả về blank khi nó được sử dụng bên ngoài hàm. Nó bao gồm namespace được khai báo bên trong.
__METHOD__ Đại diện cho tên của phương thức lớp mà nó được sử dụng. Tên phương thức được trả về khi nó được khai báo.
__NAMESPACE__ Đại diện cho tên của namespace hiện tại.

File: hang-so-magic.php

Ví dụ hằng số PHP __LINE__";
echo "Bạn đang ở dòng số " . __LINE__ . "

"; echo "

Ví dụ hằng số PHP __FILE__

"; echo __FILE__ . "

"; echo "

Ví dụ hằng số PHP __DIR__

"; echo __DIR__ . "

"; echo dirname(__FILE__) . "

"; echo "

Ví dụ hằng số PHP __FUNCTION__

"; // sử dụng hằng số magic bên trong hàm. function cash(){ echo 'Tên của hàm là: '. __FUNCTION__ . "

"; } cash(); // sử dụng hằng số magic bên ngoài hàm. function test_function(){ echo 'Hi'; } test_function(); echo __FUNCTION__ . "

";// trả về blank echo "

Ví dụ hằng số PHP __CLASS__

"; class abc { public function __construct() { ; } function abc_method(){ echo __CLASS__ . "

";// in tên của lớp abc. } } $t = new abc; $t->abc_method(); class first{ function test_first(){ echo __CLASS__;//in lớp cha first } } class second extends first { public function __construct() { ; } } $t = new second; $t->test_first(); echo "

Ví dụ hằng số PHP __TRAIT__

"; trait created_trait{ function abc(){ echo __TRAIT__;//in tên của trait là created_trait } } class anew{ use created_trait; } $a = new anew; $a->abc(); echo "

Ví dụ hằng số PHP __METHOD__

"; class meth{ public function __construct() { echo __METHOD__ . "

";//in meth::__construct } public function meth_fun(){ echo __METHOD__;//in meth::meth_fun } } $a = new meth; $a->meth_fun(); echo "

Ví dụ hằng số PHP __NAMESPACE__

"; class name{ public function __construct() { echo 'Dòng này sẽ được in khi gọi namespace'; } } $clas_name = __NAMESPACE__ .'\name'; $a = new $clas_name; ?>

Kết quả:

Dirname (__ __file__ trong php)