Làm thế nào để bạn tạo một thư mục trong php?

Các thư mục bị xóa trong PHP bằng hàm rmdir(). rmdir() nhận một đối số duy nhất, tên của thư mục sẽ bị xóa. Việc xóa sẽ chỉ thành công nếu thư mục trống. Nếu thư mục chứa các tệp hoặc thư mục con khác thì việc xóa không thể thực hiện được cho đến khi các tệp và thư mục con đó cũng bị xóa


Tìm và thay đổi thư mục làm việc hiện tại

Không chắc rằng một ứng dụng web sẽ có thể thực hiện tất cả các tác vụ liên quan đến tệp của nó trong một thư mục. Vì lý do này, điều quan trọng là có thể tìm ra thư mục làm việc hiện tại và thay đổi sang thư mục khác từ bên trong tập lệnh PHP

Thư mục làm việc hiện tại có thể được xác định bằng hàm getCwd()

Thư mục làm việc hiện tại có thể được thay đổi bằng hàm chdir(). chdir() lấy đối số duy nhất là đường dẫn của thư mục mới

";

chdir ("/tmp");

$current_dir = getCwd();

echo "Current directory is now $current_dir 
"; ?>

Liệt kê các tập tin trong một thư mục

Các tệp trong một thư mục có thể được đọc bằng hàm PHP scandir(). scandir() nhận hai đối số. Đối số đầu tiên là đường dẫn thư mục được quét. Đối số tùy chọn thứ hai chỉ định cách sắp xếp danh sách thư mục. Nếu đối số là 1, danh sách được sắp xếp ngược theo thứ tự bảng chữ cái. Nếu đối số bị bỏ qua hoặc được đặt thành 0, danh sách được sắp xếp theo thứ tự bảng chữ cái

Hướng dẫn này sẽ chỉ cho bạn cách có thể tạo một thư mục trong PHP bằng cách sử dụng hàm mkdir

Làm thế nào để bạn tạo một thư mục trong php?

Hàm mkdir trong PHP là một hàm đơn giản nhưng mạnh mẽ cho phép bạn tạo một thư mục ở bất kỳ đâu mà tác nhân đang chạy có quyền

Với cách sử dụng đơn giản nhất, bạn có thể tạo một thư mục trong đường dẫn đã chỉ định. Tuy nhiên, bạn thậm chí có thể sử dụng chức năng này để tạo toàn bộ cây thư mục bằng cách bật chức năng “

8” của nó

Nó là một phần cốt lõi của PHP và hữu ích cho nhiều trường hợp bạn cần tạo thư mục một cách nhanh chóng. Ví dụ: bạn có thể muốn tạo thư mục dựa trên ngày hiện tại khi xử lý tải lên trong PHP

Bạn có thể quan tâm đến chức năng của từng tham số này, vì vậy hãy nhanh chóng xem qua chúng. Chúng tôi sẽ cho bạn thấy một phần khá lớn của những điều này trong các phần sau

Định nghĩa Hàm mkdir trong PHP

Trước khi tiếp tục, trước tiên chúng ta nên tìm hiểu cách định nghĩa hàm mkdir trong PHP

Dưới đây bạn có thể thấy chính xác hàm mkdir được định nghĩa như thế nào trong PHP. Nó có bốn tham số, nhưng chỉ có tham số đầu tiên được yêu cầu để sử dụng chức năng của nó

Hàm này sẽ trả về

9, nếu thư mục được tạo thành công và
0 nếu không thành công

mkdir(
    string $directory, 
    int $mode = 0777,
    bool $recursive = false, 
    ?resource $context = null
)

Bạn có thể quan tâm đến chức năng của từng tham số này, vì vậy hãy nhanh chóng xem qua chúng. Chúng tôi sẽ đưa ra các ví dụ về cách sử dụng từng tham số sau trong hướng dẫn này

Tham số thư mục

Tham số “

1” là bắt buộc và được sử dụng để chỉ định đường dẫn thư mục mà bạn muốn tạo bởi chức năng này

Hàm mkdir trong PHP có hỗ trợ đầy đủ cho cả đường dẫn tương đối (

2) và đường dẫn tuyệt đối (
0)

Tuy nhiên, tốt nhất là sử dụng các đường dẫn tuyệt đối ở đây vì thư mục làm việc hiện tại có thể không như bạn nghĩ

Nếu bạn muốn tạo một thư mục liên quan đến tệp PHP hiện tại, bạn sẽ muốn nối thêm thư mục của mình với “

1“. Hằng số này chứa thư mục làm việc hiện tại

Ví dụ: sử dụng ví dụ về đường dẫn tương đối trước đây, chúng tôi sẽ viết “

2“

Chế độ tham số

Sử dụng tham số “

3”, bạn có thể đặt các quyền sẽ được gán cho thư mục khi nó được tạo

Theo mặc định, PHP sẽ tạo thư mục có quyền “

4” truy cập rộng nhất có thể. Chủ sở hữu, nhóm và những người khác sẽ có toàn quyền truy cập vào thư mục này

Giá trị chế độ thường phải được xác định là bát phân, nghĩa là bạn nên sử dụng định dạng sau

  • Số đầu tiên phải luôn là số 0
  • Số thứ hai chỉ định quyền cho chủ sở hữu
  • Số thứ ba đặt quyền cho nhóm sở hữu thư mục
  • Cuối cùng, số thứ tư đặt quyền cho bất kỳ ai khác

Giá trị cho từng nhóm quyền này được tính bằng cách cộng các số sau

  • 1 = Thực thi quyền
  • 2 = Quyền ghi
  • 4 = Quyền đọc

Ví dụ: nếu chúng tôi chỉ muốn chủ sở hữu nhóm của mình có quyền đọc và ghi, chúng tôi sẽ sử dụng “

5” cho nhóm đó

Bạn có thể tìm hiểu thêm về cách Linux xử lý các quyền bằng cách xem hướng dẫn lệnh chmod của chúng tôi

Xin lưu ý rằng nếu bạn đang sử dụng hệ thống dựa trên Windows, tùy chọn này sẽ không làm gì cả

Tham số đệ quy

Theo mặc định, chức năng mkdir của PHP sẽ chỉ cố gắng tạo phân đoạn cuối cùng trong một đường dẫn

Ví dụ với đường dẫn “

6“, PHP sẽ chỉ tạo thư mục kết thúc “
7”. Nếu các thư mục trước đó không tồn tại thì chức năng sẽ thất bại

Bạn có thể đặt tham số “

8” thành
9 để giải quyết vấn đề này. Khi được đặt thành
9, PHP sẽ chạy qua từng phần của đường dẫn, tạo chúng nếu chúng chưa tồn tại

Thông số bối cảnh

Tham số bối cảnh là tùy chọn và cho phép bạn kiểm soát xử lý tệp mà hàm mkdir của PHP sẽ sử dụng

Trong hầu hết các trường hợp, bạn sẽ không cần sử dụng tham số này. Nó chỉ hữu ích khi bạn cần kiểm soát luồng tệp

Cách sử dụng cơ bản của Hàm mkdir trong PHP

Chúng ta hãy bắt đầu với cách cơ bản nhất để sử dụng hàm mkdir trong PHP

Cách đơn giản nhất để sử dụng mkdir là chuyển vào thư mục mà bạn muốn tạo. Hàm sẽ cho rằng các giá trị mặc định sẽ được sử dụng cho tất cả các tùy chọn khác

Với ví dụ sau chúng ta sẽ tạo thư mục “______111“

Vì đệ quy được đặt thành false theo mặc định, phần “

7” của thư mục này phải tồn tại. Nếu không, mkdir sẽ trả về
0 và không thể tạo thư mục

Tương tự như vậy, vì chúng tôi không đặt tham số “

3”, quyền mặc định của “
4” được đặt khi thư mục này được tạo

Đặt quyền khi tạo thư mục bằng mkdir trên PHP

Hàm mkdir trong PHP cho phép bạn đặt quyền trên các thư mục mà nó tạo bằng cách sử dụng tùy chọn chế độ của nó

Bạn vẫn cần chỉ định thư mục bạn muốn tạo cho tham số đầu tiên. Đối với ví dụ dưới đây, chúng tôi sử dụng thư mục “

";

chdir ("/tmp");

$current_dir = getCwd();

echo "Current directory is now $current_dir 
"; ?>
11“

Chúng ta có thể đặt quyền được gán cho thư mục mới này với tham số thứ hai. Đây cần phải là một giá trị bát phân

    • Số đầu tiên phải là
      ";
      
      chdir ("/tmp");
      
      $current_dir = getCwd();
      
      echo "Current directory is now $current_dir 
      "; ?>
      17 vì giá trị này là một số bát phân
    • Số thứ hai là đặc quyền của người dùng. Trong ví dụ dưới đây, chúng tôi đặt giá trị này thành
      ";
      
      chdir ("/tmp");
      
      $current_dir = getCwd();
      
      echo "Current directory is now $current_dir 
      "; ?>
      18.

      Việc sử dụng 7 mang lại cho người dùng các đặc quyền thực thi (
      ";
      
      chdir ("/tmp");
      
      $current_dir = getCwd();
      
      echo "Current directory is now $current_dir 
      "; ?>
      19), viết (
      mkdir(
          string $directory, 
          int $mode = 0777,
          bool $recursive = false, 
          ?resource $context = null
      )
      00) và đọc (
      mkdir(
          string $directory, 
          int $mode = 0777,
          bool $recursive = false, 
          ?resource $context = null
      )
      01).
    • Với số thứ ba, chúng tôi đặt quyền cho nhóm sở hữu tệp.

      Với ví dụ của chúng tôi, chúng tôi sẽ đặt số này thành
      mkdir(
          string $directory, 
          int $mode = 0777,
          bool $recursive = false, 
          ?resource $context = null
      )
      02. Điều này cấp cho nhóm quyền thực thi (
      ";
      
      chdir ("/tmp");
      
      $current_dir = getCwd();
      
      echo "Current directory is now $current_dir 
      "; ?>
      19) và quyền đọc (
      mkdir(
          string $directory, 
          int $mode = 0777,
          bool $recursive = false, 
          ?resource $context = null
      )
      01).
    • Số cuối cùng và số thứ tư cho phép bạn đặt quyền cho tất cả người dùng khác.

      Giống như quyền của nhóm, chúng tôi cũng đặt quyền này thành 5 cho ví dụ của chúng tôi.
    ";
    
    chdir ("/tmp");
    
    $current_dir = getCwd();
    
    echo "Current directory is now $current_dir 
    "; ?>
    1

    Khi bit này của PHP được thực thi, nó sẽ sử dụng hàm mkdir để tạo thư mục “

    ";
    
    chdir ("/tmp");
    
    $current_dir = getCwd();
    
    echo "Current directory is now $current_dir 
    "; ?>
    11“, với quyền “
    mkdir(
        string $directory, 
        int $mode = 0777,
        bool $recursive = false, 
        ?resource $context = null
    )
    06“

    Tạo thư mục mẹ bằng Hàm mkdir của PHP

    Tham số cuối cùng mà chúng tôi sẽ chỉ cho bạn cách sử dụng là tham số đệ quy. Đây là một trong những hàm hữu ích nhất của hàm mkdir của PHP, vì nó cho phép bạn tạo toàn bộ nhánh thư mục trong một lệnh gọi hàm duy nhất

    Để sử dụng cái này, trước tiên chúng ta phải xác định thư mục và chế độ. Chúng tôi sẽ sử dụng “

    mkdir(
        string $directory, 
        int $mode = 0777,
        bool $recursive = false, 
        ?resource $context = null
    )
    07” cho thư mục của chúng tôi và đối với chế độ, chúng tôi sẽ sử dụng mặc định “
    4“

    Bây giờ tất cả những gì chúng ta cần làm là đặt tham số (đệ quy) thứ ba thành true

    mkdir(
        string $directory, 
        int $mode = 0777,
        bool $recursive = false, 
        ?resource $context = null
    )
    0

    Với “

    9” được chuyển vào tham số đệ quy, mkdir sẽ đảm bảo rằng mỗi phần của thư mục được tạo

    Tạo một thư mục nếu nó không tồn tại bằng mkdir trong PHP

    Mặc dù hàm mkdir của PHP giúp tạo một thư mục nhưng nó không thực hiện bất kỳ kiểm tra nào để xem thư mục đó có tồn tại hay không trước khi kích hoạt

    Khi được sử dụng trên một thư mục đã tồn tại, hàm mkdir sẽ đưa ra cảnh báo cho biết rằng nó đã tồn tại

    Để tránh cảnh báo này xảy ra trong mã, chúng ta có thể sử dụng hàm “

    10” của PHP. Sử dụng chức năng này, chúng tôi có thể kiểm tra xem thư mục có tồn tại hay không trước khi tiếp tục

    Dưới đây chúng ta có một câu lệnh điều kiện PHP if đơn giản sử dụng hàm

    11 để kiểm tra xem thư mục có tồn tại (
    12) không

    Chỉ khi hàm

    10 của tệp trả về
    0 thì lệnh gọi hàm
    15 của chúng tôi mới được chạy và thư mục của chúng tôi, “
    16” được tạo

    1

    Phần kết luận

    Đến cuối hướng dẫn này, chúng tôi hy vọng rằng bây giờ bạn đã hiểu cách thức hoạt động của hàm mkdir trong PHP

    Chức năng này rất hữu ích vì nó cho phép bạn tạo các thư mục trong PHP. Nó thậm chí còn cho phép bạn đặt quyền trên các thư mục mới và tạo đệ quy bất kỳ thư mục nào trong đường dẫn được cung cấp

    Tất nhiên, người dùng mà PHP đang chạy bên dưới sẽ cần quyền để tạo thư mục, vì vậy hãy đảm bảo rằng bạn đã đặt quyền của mình một cách chính xác

    Thư mục trong PHP là gì?

    Các hàm thư mục PHP như tên gợi ý của chúng là một tập hợp các hàm được sử dụng để truy xuất chi tiết, sửa đổi chúng và tìm nạp thông tin trên các thư mục hệ thống tệp khác nhau và nội dung cụ thể của chúng.

    Làm cách nào để sử dụng hàm mkdir trong PHP?

    Hàm mkdir() trong PHP chấp nhận bốn tham số. .
    Số đầu tiên luôn bằng 0
    Số thứ hai chỉ định quyền cho chủ sở hữu
    Số thứ ba chỉ định quyền cho nhóm người dùng của chủ sở hữu
    Số thứ tư chỉ định quyền cho mọi người khác

    Làm cách nào để tạo thư mục lồng nhau trong PHP?

    // Cấu trúc thư mục mong muốn $structure = '. /độ sâu1/độ sâu2/độ sâu3/'; . nếu (. mkdir($struct, 0744, true)) { die('Không thể tạo thư mục. '); . Lưu câu trả lời này

    Làm cách nào để tạo một thư mục và lưu nó trong PHP?

    Bạn có thể tạo thư mục bằng PHP bằng hàm mkdir() . mkdir("/path/to/my/dir", 0700); . fopen('tệp của tôi.