09/10/2018, 17:49

[Q] Thắc mắc về Directory dùng PHP

Có cách nào dùng PHP để liệt kê các file trong đường dẫn theo một phương thức mình muốn, như theo size, theo ký tự ab hay time không? Mình nghĩ muốn điên đầu luôn mà chưa được, xin các cao thủ giúp đỡ.
bpmtri viết 19:59 ngày 09/10/2018
Tham khảo source code này nè (lượm được trên HotScript)
Deathly Smile viết 19:58 ngày 09/10/2018
Dùng readdir để đọc tất cả file và thư mục trong đường dẫn cho trước (có thể phân biệt file và thư mục bằng phần mở rộng, ....).
Ném dữ liệu vào 1 mảng, sau đó dùng các array functions thích hợp để sort theo ý mình rồi xuất ra.
taplamweb viết 20:03 ngày 09/10/2018
Có phải dùng hàm get_object_vars để tạo Array, sau đó dùng sort để sắp xếp các file không? Deathly Smile viết đoạn code dùng mình được không. Cảm ơn nhiều.
Deathly Smile viết 20:03 ngày 09/10/2018
Đoạn mã đơn giản ở dưới sẽ thực hiện công việc lấy thông tin về file theo đường dẫn cho trước /path/to/files và đưa vào 1 mảng có tên $unsorted_array.
PHP Code:
<?php
$unsorted_array
***91;***93; = array();
$key 0;
if (
$handle opendir('/path/to/files')) {// mở đường dẫn đến files
    
while (false !== ($file readdir($handle))) { // đọc nội dung đường dẫn
        // gán các giá trị tên file, kích thước và thời gian thay đổi gần nhất của file vào mảng
        
$unsorted_array***91;$key***93;***91;'name'***93; = $file;
        
$unsorted_array***91;$key***93;***91;'size'***93; = filesize("/path/to/files/$file");
        
$unsorted_array***91;$key***93;***91;'time'***93; = filectime("/path/to/files/$file");
        ++
$key;
    }
    
closedir($handle); // đóng đường dẫn
}
?>
Để kiểm tra kết quả đoạn code trên, có thể dùng

PHP Code:
<pre>
<?
    print_r ($unsorted_array);
?>
</pre>
Các hàm sort array có khá nhiều loại, bạn tự tìm hiểu để nhận đc kết quả theo ý mình nhé
taplamweb viết 20:01 ngày 09/10/2018
Rất hay, cảm ơn Deathly Smile đã nhiệt tình giúp đỡ. Cũng cảm ơn bạn bpmtri luôn, tuy nhiên file indexer của bạn bị hư rồi, không sử dụng được.
Bài liên quan
0