Làm cách nào để lấy danh sách các tệp trong một thư mục trong PHP?

Để đọc tất cả các tệp trong một thư mục cụ thể bằng PHP, chúng ta có thể sử dụng hàm glob(). Chức năng này cho phép đọc bất kỳ tệp (tên đường dẫn)/thư mục con/cả trong một thư mục cụ thể (trong đó các tệp đang được tìm kiếm)

Sự định nghĩa

Hàm glob() trả về một mảng tên tệp hoặc thư mục khớp với một mẫu đã chỉ định (mẫu đã cho làm đối số đầu tiên). Hàm glob() trả về một mảng chứa các tên tệp/thư mục khớp, một mảng trống nếu không có tệp/thư mục nào khớp và FALSE nếu có lỗi xảy ra

Cú pháp của hàm global() (như trên trang web chính thức)

1

glob ( chuỗi $mẫu [, int $flags = 0 ] ) : mảng

Sự miêu tả

hàm glob() sử dụng hai tham số. Đầu tiên là mẫu chuỗi bắt buộc và thứ hai là số nguyên tùy chọn (cờ)

Cách sử dụng hàm global()

Tham số đầu tiên là một chuỗi được coi là mẫu để tìm kiếm tên đường dẫn (tệp/thư mục)

Làm cách nào để lấy danh sách các tệp trong một thư mục trong PHP?
Sử dụng hai thư mục trên để tìm kiếm

Ví dụ về hàm global() theo mẫu

Ví dụ-1. Để tìm kiếm bất kỳ tập tin hoặc thư mục

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

$search_results = glob('*');

print_r($search_results);

 

/*đầu ra

Mảng

(

[0] => thư mục-một

[1] => thư mục-hai

[2] => mục lục. php

[3] => php-file-one. php

[4] => php-file-hai. php

[5] => techbriefers-file. txt

[6] => techbriefers-thư mục

[7] => tệp-kiểm tra-một. txt

[8] => tập tin thử nghiệm-hai. txt

)

*/

Ví dụ-2. Để chỉ tìm kiếm các tệp PHP

1

2

3

4

5

6

7

8

9

10

11

$search_results = glob('*.php');

print_r($search_results);

 

/*đầu ra

Mảng

(

[0] => chỉ số. php

[1] => php-file-one. php

[2] => php-file-hai. php

)

*/

ví dụ-3. Để chỉ tìm kiếm các tệp văn bản

1

2

3

4

5

6

7

8

9

10

11

$search_results = glob('*.txt');

print_r($search_results);

 

/*đầu ra

Mảng

(

[0] => techbriefers-file. txt

[1] => tệp thử nghiệm-một. txt

[2] => tập tin thử nghiệm-hai. txt

)

*/

Ví dụ-4. Để tìm kiếm bất kỳ tệp hoặc thư mục nào bắt đầu bằng 'a'

1

2

3

4

5

6

7

8

$search_results = glob('a*');

print_r($search_results);

 

/*đầu ra

Mảng

(

)

*/

Ví dụ-4. Để tìm kiếm bất kỳ tệp hoặc thư mục nào bắt đầu bằng 'tech'

1

2

3

4

5

6

7

8

9

10

$search_results = glob('tech*');

print_r($search_results);

 

/*đầu ra

Mảng

(

[0] => techbriefers-file. txt

[1] => techbriefers-thư mục

)

*/

ví dụ-5. Để tìm kiếm bất kỳ tệp hoặc thư mục nào có chứa 'brie'

1

2

3

4

5

6

7

8

9

10

$search_results = glob('*brie*');

print_r($search_results);

 

/*đầu ra

Mảng

(

[0] => techbriefers-file. txt

[1] => techbriefers-thư mục

)

*/

Ví dụ-6. Để tìm kiếm bất kỳ tệp hoặc thư mục nào bắt đầu bằng 'công nghệ' và kết thúc bằng 'thư mục'

1

2

3

4

5

6

7

8

9

$search_results = glob('tech*folder');

print_r($search_results);

 

/*đầu ra

Mảng

(

[1] => techbriefers-thư mục

)

*/

Tham số thứ hai là một số nguyên phải là cờ hợp lệ

Cờ hợp lệ

GLOB_MARK – Thêm dấu gạch chéo vào cuối mỗi tên thư mục được tìm thấy

GLOB_NOSORT – Trả về tệp khi chúng xuất hiện trong thư mục mà không sắp xếp theo thứ tự abc. Khi cờ này không được sử dụng, tên đường dẫn được sắp xếp theo thứ tự bảng chữ cái

GLOB_NOCHECK – Trả về mẫu tìm kiếm nếu không tìm thấy tệp nào phù hợp với nó

GLOB_NOESCAPE – Dấu gạch chéo ngược không trích dẫn siêu ký tự

GLOB_BRACE – Mở rộng {a,b,c} để khớp với 'a', 'b' hoặc 'c'

GLOB_ONLYDIR – Chỉ trả về các mục nhập thư mục khớp với mẫu

GLOB_ERR – Dừng khi đọc lỗi (chẳng hạn như thư mục không đọc được), theo mặc định, các lỗi sẽ bị bỏ qua

Ví dụ về hàm global() theo cờ

Ví dụ-7. Để thêm dấu gạch chéo vào cuối thư mục

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

$search_results = glob('*', GLOB_MARK);

print_r($search_results);

 

/*đầu ra

Mảng

(

[0] => thư mục-một/

[1] => thư mục-hai/

[2] => mục lục. php

[3] => php-file-one. php

[4] => php-file-hai. php

[5] => techbriefers-file. txt

[6] => techbriefers-thư mục/

[7] => tệp-kiểm tra-một. txt

[8] => tập tin thử nghiệm-hai. txt

)

*/

Ví dụ-8. Để xem danh sách các tập tin và thư mục chưa được sắp xếp

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

$search_results = glob('*', GLOB_NOSORT);

print_r($search_results);

 

/*đầu ra

Mảng

(

[0] => tệp thử nghiệm một. txt

[1] => chỉ số. php

[2] => techbriefers-file. txt

[3] => php-file-one. php

[4] => php-file-hai. php

[5] => tập tin thử nghiệm-hai. txt

[6] => thư mục-hai

[7] => thư mục-một

[8] => techbriefers-thư mục

)

*/

Ví dụ-9. Nếu không tìm thấy tệp/thư mục trả về mẫu, không sử dụng GLOB_NOCHECK sẽ trả về một mảng trống

1

2

3

4

5

6

7

8

9

$search_results = glob('new*', GLOB_NOCHECK);

print_r($search_results);

 

/*đầu ra

Mảng

(

[0] => mới*

)

*/

Có thể thấy sự khác biệt rõ ràng nếu bạn so sánh Eg-9 và Eg-4. Trong ví dụ-4, kết quả không được tìm thấy do đó mảng trống được trả về

Làm cách nào để lấy danh sách các tệp trong một thư mục bằng PHP?

PHP sử dụng scandir() để tìm các thư mục trong một thư mục . Nó liệt kê các tệp và thư mục có trong đường dẫn do người dùng chỉ định.

Làm cách nào tôi có thể nhận được danh sách các tệp trong một thư mục?

Xem các ví dụ sau. .
Để liệt kê tất cả các tệp trong thư mục hiện tại, hãy nhập như sau. ls -a Điều này liệt kê tất cả các tệp, bao gồm. dấu chấm (. ).
Để hiển thị thông tin chi tiết, gõ như sau. ls -l chương 1. hồ sơ. .
Để hiển thị thông tin chi tiết về một thư mục, gõ như sau. ls -d -l

Làm cách nào để tìm nạp thư mục trong PHP?

PHP. dir() (Lấy phiên bản của Thư mục) . Chức năng này đọc thư mục, bao gồm những điều sau đây. Thư mục đã cho được mở. Hai thuộc tính handle và đường dẫn của dir() đã có sẵn.

Làm cách nào để đọc tên tệp trong PHP?

Bạn có thể dùng hàm basename() để lấy tên tệp mà không cần đường dẫn; . Ví dụ: ? . g. , 'thi/thi. ? . g. , 'thi/thi. ? . g. , 'thi/thi. ? . g. , 'thi/thi. ? . g. , 'thi/thi. ? . g. , 'thi/thi. ? . g. , 'thi/thi. ? . g. , 'thi/thi. ? . g. , 'thi/thi. ? . g. , 'thi/thi. ? . g. , 'thi/thi. ? . g. , 'thi/thi. . For example,