PHP对目录文件进行迭代


PHP iterate over directory files

我有这个简单的代码

if ($hdcss = opendir($javascript)) {
    while (false !== ($cssentry = readdir($hdcss))) {
        echo "$cssentry'n";
    }
    closedir($hdcss);
}

这将发出所有文件。。。我想做的是返回一个li元素的html字符串。只有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/";

您可以使用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 获取

目录路径:

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

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