晚的演出,而是建立关accepted answer的...
如果你想要所有的文件和目录在数组中(这可以用在JavaScript中JSON.stringify很好地预装),你c的修改功能:
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;
}
对于新手...
使用上述JSON.stringify
,你的JS/jQuery的会是这样的:
var ajax = $.ajax({
method: 'POST',
data: {list_dirs: true}
}).done(function(msg) {
$('pre').html(
'FILE LAYOUT<br/>' +
JSON.stringify(JSON.parse(msg), null, 4)
);
});
^这是假设你的HTML中有一个<pre>
元素。任何AJAX的味道都可以,但我想大多数人都在使用类似于上面的jQuery的东西。
和附带的PHP:
if(isset($_POST['list_dirs'])) {
echo json_encode(listFolderFiles($rootPath));
exit();
}
,你已经有listFolderFiles
从之前。
就我而言,我已经把我的$rootPath
到网站的根目录...
$rootPath;
if(!isset($rootPath)) {
$rootPath = $_SERVER['DOCUMENT_ROOT'];
}
最终的结果是一样的东西......
| 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...
注:你的看起来不会像这样 - 我修改了JSON.stringify
来显示标签(垂直管道),对齐所有键值,删除键引号和其他一些东西。如果我想要上传它,或者获得足够的兴趣,我会通过链接修改此答案。
谢谢Shef它工作正常他们的任何shell命令执行此? – Warrior
'php file_name.php'? – Shef
不,我问你是否有任何单一的shell脚本列出所有的文件夹和文件,如esec(查找) – Warrior