muộn để chương trình, nhưng để xây dựng tắt của accepted answer ...
Nếu bạn muốn có tất cả các tệp và thư mục dưới dạng mảng (có thể được thiết kế đẹp mắt với JSON.stringify trong javascript), bạn c một thay đổi chức năng để:
function listFolderFiles($dir) {
$arr = array();
$ffs = scandir($dir);
foreach($ffs as $ff) {
if($ff != '.' && $ff != '..') {
$arr[$ff] = array();
if(is_dir($dir.'/'.$ff)) {
$arr[$ff] = listFolderFiles($dir.'/'.$ff);
}
}
}
return $arr;
}
cho người mới ...
Để sử dụng nói trên JSON.stringify
, JS của bạn/jQuery sẽ là một cái gì đó như:
var ajax = $.ajax({
method: 'POST',
data: {list_dirs: true}
}).done(function(msg) {
$('pre').html(
'FILE LAYOUT<br/>' +
JSON.stringify(JSON.parse(msg), null, 4)
);
});
^Đây là giả sử bạn có một phần tử <pre>
trong HTML của bạn ở đâu đó. Bất kỳ hương vị của AJAX sẽ làm, nhưng tôi con số hầu hết mọi người đang sử dụng một cái gì đó tương tự như jQuery ở trên.
Và PHP kèm theo:
if(isset($_POST['list_dirs'])) {
echo json_encode(listFolderFiles($rootPath));
exit();
}
nơi bạn đã có listFolderFiles
từ trước.
Trong trường hợp của tôi, tôi đã thiết của tôi $rootPath
vào thư mục gốc của trang web ...
$rootPath;
if(!isset($rootPath)) {
$rootPath = $_SERVER['DOCUMENT_ROOT'];
}
Kết quả cuối cùng là một cái gì đó giống như ...
| some_file_1487.smthng []
| some_file_8752.smthng []
| CSS
| | some_file_3615.smthng []
| | some_file_8151.smthng []
| | some_file_7571.smthng []
| | some_file_5641.smthng []
| | some_file_7305.smthng []
| | some_file_9527.smthng []
|
| IMAGES
| | some_file_4515.smthng []
| | some_file_1335.smthng []
| | some_file_1819.smthng []
| | some_file_9188.smthng []
| | some_file_4760.smthng []
| | some_file_7347.smthng []
|
| JSScripts
| | some_file_6449.smthng []
| | some_file_7864.smthng []
| | some_file_3899.smthng []
| | google-code-prettify
| | | some_file_2090.smthng []
| | | some_file_5169.smthng []
| | | some_file_3426.smthng []
| | | some_file_8208.smthng []
| | | some_file_7581.smthng []
| | | some_file_4618.smthng []
| |
| | some_file_3883.smthng []
| | some_file_3713.smthng []
... and so on...
Lưu ý: Bạn sẽ không nhìn chính xác như thế này - Tôi đã sửa đổi JSON.stringify
để hiển thị các tab (ống dọc), căn chỉnh tất cả các giá trị được khóa, xóa trích dẫn khỏi khóa và một vài thứ khác. Tôi sẽ sửa đổi câu trả lời này bằng một liên kết nếu tôi có thể tải lên hoặc nhận đủ sự quan tâm.
Cảm ơn Shef nó đang hoạt động tốt Có phải lệnh shell của chúng để thực hiện điều này không? – Warrior
'php file_name.php'? – Shef
Không yêu cầu bạn là bất kỳ tập lệnh shell đơn nào để liệt kê tất cả các thư mục và tệp như esec (tìm) – Warrior