PHP迭代目录文件

时间:2013-12-03 08:21:37

标签: javascript php filesystems readdir opendir

我有这个简单的代码

if ($hdcss = opendir($javascript)) {

    while (false !== ($cssentry = readdir($hdcss))) {
        echo "$cssentry\n";
    }

    closedir($hdcss);
}

这将给出所有文件...我想做的事情因为我将通过Ajax得到这个是返回一个html字符串的li元素只有JavaScript方法是for循环而不确定这是否在php中完成与opendir,因为这是我第一次使用这个...

JavaScript方法:

var arry = [];

for(i=0;i<cssentry.length;i++){
    arry.push('<li>'+cssentry[i]+'</li>');
}

return arry.join(',');

如果有任何建议,我会接受他们。

目录路径:

$javascript = "/cloud/'$username'/javascript/";
$css = "/cloud/'$username'/css/";

2 个答案:

答案 0 :(得分:2)

您可以使用JSON格式来传达Javascript和PHP

<?php
    if ($hdcss = opendir("/tmp")) {
        $files = array();
        while (false !== ($cssentry = readdir($hdcss))) {
            // you dont want those two
            if ($cssentry != "." && $cssentry != "..") {
                $files[] = $cssentry;
            }
        }
        closedir($hdcss);
        echo json_encode($files);
    }
?>

然后你会在javascript中得到一个结果

["mydir1", "mydir2", "mydir3"]

你可以像这样打印数组到javascript变量

var arry = <?php echo json_encode($files); ?>;

或使用ajax

获取它

答案 1 :(得分:1)

目录路径:

$javascript = "/cloud/'$username'/javascript/";
$css = "/cloud/'$username'/css/";

目录路径正确...不需要第一个正斜杠