Trong hướng dẫn dành cho người mới bắt đầu này, tôi sẽ chỉ cho bạn cách liệt kê tất cả các tệp trong một thư mục bằng PHP. Chúng tôi sẽ thực hiện việc này bằng cách sử dụng hàm toàn cầu PHP, cho phép chúng tôi truy xuất danh sách tên đường dẫn tệp khớp với một mẫu nhất định Show Đối với ví dụ này, tôi đã tạo một thư mục có tên là “test”. Trong thư mục, tôi đã tạo ba tệp
Đây là một ảnh chụp màn hình của thư mục Trong đoạn mã PHP đầu tiên của chúng tôi, chúng tôi sẽ chỉ liệt kê mọi thứ có trong thư mục kiểm tra <?php //Get a list of file paths using the glob function. $fileList = glob('test/*'); //Loop through the array that glob returned. foreach($fileList as $filename){ //Simply print them out onto the screen. echo $filename, '<br>'; } Kết quả sẽ giống như thế này test/file.php test/names.txt test/test.txt Tuy nhiên, nếu chúng tôi muốn liệt kê tất cả các tệp có phần mở rộng tệp cụ thể thì sao? . e. Điều gì sẽ xảy ra nếu chúng ta chỉ muốn liệt kê. txt chứ không phải. php hiện đang có? Chà, giải pháp khá đơn giản //Get a list of all files ending in .txt $fileList = glob('test/*.txt'); Trong đoạn mã trên, chúng tôi đã yêu cầu hàm toàn cục trả về danh sách tên đường dẫn tệp kết thúc. txt Cảnh báo. Trong một số trường hợp, thư mục có thể có thư mục con. Trong trường hợp bạn đang liệt kê mọi thứ bên trong một thư mục được chỉ định, các thư mục con này sẽ được hàm toàn cục trả về. Để tránh in ra hoặc tương tác với các thư mục con, bạn chỉ cần sử dụng hàm is_file để xác nhận rằng tên đường dẫn tệp được đề cập dẫn đến một tệp thực tế ❮ Tham khảo thư mục PHP Thí dụLiệt kê các tệp và thư mục bên trong thư mục hình ảnh $dir = "/hình ảnh/"; // Sắp xếp theo thứ tự tăng dần - đây là mặc định // Sắp xếp theo thứ tự giảm dần print_r($a); Kết quả Mảng Định nghĩa và cách sử dụngHàm scandir() trả về một mảng các tệp và thư mục của thư mục đã chỉ định cú phápscandir(thư mục, thứ tự, ngữ cảnh) Giá trị tham sốTham sốMô tảthư mụcBắt buộc. Chỉ định thư mục được quétorderOptional. Chỉ định thứ tự sắp xếp. Thứ tự sắp xếp mặc định là thứ tự chữ cái tăng dần (0). Đặt thành SCANDIR_SORT_DESCENDING hoặc 1 để sắp xếp theo thứ tự bảng chữ cái giảm dần hoặc SCANDIR_SORT_NONE để trả về kết quả chưa được sắp xếp theo ngữ cảnhTùy chọn. Chỉ định bối cảnh xử lý thư mục. Bối cảnh là một tập hợp các tùy chọn có thể sửa đổi hành vi của luồngchi tiết kỹ thuậtGiá trị trả về. Một mảng các tệp và thư mục khi thành công, FALSE khi thất bại. Ném E_WARNING nếu thư mục không phải là thư mụcPhiên bản PHP. 5. 0+Nhật ký thay đổi PHP. PHP5. 4. Các hằng số thứ tự đã được thêm vào❮ Tham khảo thư mục PHP Trong bài viết này, chúng ta sẽ xem cách lấy tất cả các tệp từ thư mục hiện tại hoặc thư mục được chỉ định bằng cách sử dụng hàm scandir() trong PHP. Hàm scandir() trong PHP là một hàm sẵn có được sử dụng để trả về một mảng các tệp và thư mục của thư mục đã chỉ định. Hàm scandir() liệt kê các tệp và thư mục có trong một đường dẫn đã chỉ định. Thư mục, hành vi truyền phát và thứ tự sắp xếp của các tệp và thư mục được truyền dưới dạng tham số cho hàm scandir() và nó trả về một mảng tên tệp nếu thành công hoặc sai nếu không thành công. cú pháp scandir(directory, sorting_order, context); Thông số. Hàm scandir() trong PHP chấp nhận 3 tham số được liệt kê bên dưới
Giá trị trả về. Nó trả về một mảng tên tệp khi thành công hoặc sai khi thất bại lỗi và ngoại lệ
Cách tiếp cận. Để lấy tất cả các tệp từ thư mục cụ thể, chúng ta cần chỉ định đường dẫn đầy đủ của tệp và lưu trữ giá trị đường dẫn trong biến là $mydir. Sau đó, sử dụng hàm scandir() sẽ quét các tệp trong một thư mục hiện tại hoặc cụ thể và trả về một mảng các tệp và thư mục. Theo mặc định, nó sẽ được căn chỉnh theo thứ tự tăng dần theo thứ tự bảng chữ cái & 0 là thứ tự sắp xếp mặc định, 1 để sắp xếp theo thứ tự giảm dần theo thứ tự bảng chữ cái và SCANDIR_SORT_NONE cho thứ tự chưa sắp xếp ví dụ 1. Ví dụ dưới đây minh họa hàm scandir() sẽ quét các tệp và giá trị trả về sẽ theo thứ tự tăng dần PHP//Get a list of all files ending in .txt $fileList = glob('test/*.txt');9 scandir(directory, sorting_order, context);0 scandir(directory, sorting_order, context);0 scandir(directory, sorting_order, context);2 scandir(directory, sorting_order, context);0 scandir(directory, sorting_order, context);4 ( [0] => . [1] => .. [2] => aboutus.php [3] => contact.php [4] => index.php [5] => terms.php )0 ( [0] => . [1] => .. [2] => aboutus.php [3] => contact.php [4] => index.php [5] => terms.php )1 ( [0] => . [1] => .. [2] => aboutus.php [3] => contact.php [4] => index.php [5] => terms.php )2
scandir(directory, sorting_order, context);0____44 scandir(directory, sorting_order, context);0_______46 ( [0] => . [1] => .. [2] => aboutus.php [3] => contact.php [4] => index.php [5] => terms.php )7____34 ( [0] => . [1] => .. [2] => aboutus.php [3] => contact.php [4] => index.php [5] => terms.php )9
scandir(directory, sorting_order, context);0____111 scandir(directory, sorting_order, context);0____113____46 ( [0] => . [1] => .. [2] => aboutus.php [3] => contact.php [4] => index.php [5] => terms.php )9 test/file.php test/names.txt test/test.txt16 đầu ra ( [0] => . [1] => .. [2] => aboutus.php [3] => contact.php [4] => index.php [5] => terms.php ) ví dụ 2. Ví dụ này minh họa hàm scandir() sẽ quét các tệp và giá trị trả về sẽ theo thứ tự giảm dần PHP//Get a list of all files ending in .txt $fileList = glob('test/*.txt');9 scandir(directory, sorting_order, context);0 scandir(directory, sorting_order, context);0 scandir(directory, sorting_order, context);2 scandir(directory, sorting_order, context);0 scandir(directory, sorting_order, context);4 ( [0] => . [1] => .. [2] => aboutus.php [3] => contact.php [4] => index.php [5] => terms.php )0 ( [0] => . [1] => .. [2] => aboutus.php [3] => contact.php [4] => index.php [5] => terms.php )1 ( [0] => . [1] => .. [2] => aboutus.php [3] => contact.php [4] => index.php [5] => terms.php )2
scandir(directory, sorting_order, context);0 //Get a list of all files ending in .txt $fileList = glob('test/*.txt');07 scandir(directory, sorting_order, context);0______46 ( [0] => . [1] => .. [2] => aboutus.php [3] => contact.php [4] => index.php [5] => terms.php )7____34 //Get a list of all files ending in .txt $fileList = glob('test/*.txt');92
scandir(directory, sorting_order, context);0____111 scandir(directory, sorting_order, context);0____113____46 ( [0] => . [1] => .. [2] => aboutus.php [3] => contact.php [4] => index.php [5] => terms.php )9 test/file.php test/names.txt test/test.txt16 đầu ra test/file.php test/names.txt test/test.txt1 ví dụ 3. Ví dụ này minh họa hàm scandir() sẽ quét các tệp và giá trị trả về sẽ theo thứ tự chưa sắp xếp Làm cách nào để lấy tất cả các tệp từ THƯ MỤC trong PHP?Hàm scandir() trả về một mảng các tệp và thư mục của thư mục đã chỉ định.
Làm cách nào để lấy tên tệp trong FOLDER PHP?php $directory = "Hình ảnh"; . . Trả lại cho tôi tất cả các tệp trừ hai tệp rác có tên ". " và ". ". . Sử dụng $files = array_diff(scandir($path), mảng('. . __ TRỰC TIẾP __ trong PHP là gì?Có thể sử dụng __DIR__ để lấy thư mục làm việc của mã hiện tại . Nó đã được giới thiệu trong PHP bắt đầu từ phiên bản 5. 3. Nó tương tự như sử dụng dirname(__FILE__). Thông thường, nó được sử dụng để bao gồm các tệp khác có trong một tệp được bao gồm. |