Hàm rmdir() trong PHP

24/11/2020 - lượt xem
Chia sẻ
 
Rate this post

Định nghĩa.

Hàm rmdir() sẽ xóa thư mục dựa theo đường dẫn truyền vào. Lưu ý: thư mục muốn xóa phải rỗng và các quyền liên quan phải cho phép việc xóa thư mục.

Cú pháp.

Cú pháp:

rmdir ( string $dirname [, resource $context ] ) : bool

Trong đó.

  • $dirname là đường dẫn tới thư mục cần xóa.
  • $context là tham số mô tả ngữ cảnh.

Giá trị trả về.

  • Hàm trả về True nếu xóa thư mục thành công, ngược lại hàm trả về False.

Ghi chú.

  • Lưu ý: Khi bật  safe mode, PHP sẽ kiểm tra xem thư mục mà tập lệnh đang hoạt động có cùng UID (chủ sở hữu) với tập lệnh đang được thực thi hay không.

Ví dụ.

Ví dụ # 1.

code.

<?php
if (!is_dir('examples')) {
    mkdir('examples');
}

rmdir('examples');
?>

Hàm liên quan.

  • is_dir()  – Cho biết tên tệp có phải là một thư mục hay không
  • mkdir () – Tạo thư mục
  • unlink() – Xóa tệp

Thông tin thêm.

  • Hàm Glob không trả về các tệp ẩn, do đó, scandir có thể hữu ích hơn, khi cố gắng xóa đệ quy một cây.
    <?php
    public static function delTree($dir) {
       $files array_diff(scandir($dir), array('.','..'));
        foreach ($files as $file) {
          (is_dir("$dir/$file")) ? delTree("$dir/$file") : unlink("$dir/$file");
        }
        return rmdir($dir);
      }
    ?>
  • Đừng bao giờ sử dụng jurchiks101 tại mã gmail dot com !!! Nó chứa lỗ hổng tiêm lệnh !!! Nếu bạn muốn làm theo cách đó, hãy sử dụng một cái gì đó như sau: Nếu tình cờ bạn nhận được thứ gì đó tương đương với điều này:
    <?php
    if (PHP_OS === 'Windows')
    {
        exec(sprintf("rd /s /q %s"escapeshellarg($path)));
    }
    else
    {
        exec(sprintf("rm -rf %s"escapeshellarg($path)));
    }
    ?>
    Lưu ý cách sử dụng Escapehellarg để thoát khỏi bất kỳ ký tự không mong muốn nào có thể xảy ra, điều này tránh đặt lệnh vào biến $ path nên khả năng ai đó “pwning” máy chủ bằng mã này.
  • một số triển khai xóa thư mục đệ quy không hoạt động tốt (một số đưa ra cảnh báo, một số khác không xóa tệp ẩn, v.v.). cái này đang hoạt động tốt:
    <?php
    
    function rrmdir($src) {
        $dir = opendir($src);
        while(false !== ( $file = readdir($dir)) ) {
            if (( $file != '.' ) && ( $file != '..' )) {
                $full = $src . '/' . $file;
                if ( is_dir($full) ) {
                    rrmdir($full);
                }
                else {
                    unlink($full);
                }
            }
        }
        closedir($dir);
        rmdir($src);
    }
    
    ?>

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 rmdir() 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

    Liên hệ với chúng tôi

    Để lại thông tin để nhận được các bài viết khác

    Rate this post

    Xem thêm nhiều bài tin mới nhất về Kiến thức

    Xem thêm