0

我正在尝试制作存储在站点上的文件夹的下拉菜单。例如,顶层是文件夹列表,当用户将鼠标悬停在文件夹名称上时,会出现一个下拉列表,以便用户可以看到其中的所有文件。我对 PHP 很陌生,并且尝试了一些东西,但无法让下拉菜单正常工作。有什么建议么?

编辑:来自评论的附加信息:

目前我正在使用this,它显示顶层,但它获取文件夹的内容以在下拉列表中列出,这就是问题所在。对于第一层,我有

$thelist .= '<li><a target="frame" href="unzip/uncompressed/'.$file.'">'.$file.'</a></li>';

并可以显示所有文件夹的所有内容

$thelist2 .= '<li><a target="frame" href="unzip/uncompressed/'.$file.'/'.$file2.'">'.$file2.'</a></li>';

我只是无法让它显示在下拉列表中。

4

2 回答 2

1

PHP 可用于获取和输出文件和文件夹列表,请参阅:PHP 的目录文档。您将使用 css/javascript 进行样式设置和用户与树的交互。

一个快速的谷歌会给你很多教程。

于 2011-11-08T16:27:21.630 回答
0

我自己找到了答案。引用:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
        <title>Untitled Document</title>
        <link rel="stylesheet" href="http://twitter.github.com/bootstrap/1.4.0/bootstrap.min.css">
        <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js"></script>
        <script type="text/javascript" src="http://twitter.github.com/bootstrap/1.4.0/bootstrap-dropdown.js"></script>
    </head>
    <body>
<?php 

if ( $handle = opendir($_SERVER['DOCUMENT_ROOT'] . "/menu/") ) {
    while(false !== ($file = readdir($handle))) {
        if ($file != "." && $file != "..") {
            $var .= $file . ",";
        }
    }
}

$var = explode(',', $var);

echo " <ul class='tabs'>";
foreach($var as $v){
    if(!preg_match("/php/i", $v)) {
        echo "<li class='dropdown' data-dropdown='dropdown'><a href='" . $v . "' class='dropdown-toggle'>" . $v . "</a><ul class='dropdown-menu'>";
        $folder = $v;
        $t = opendir($_SERVER['DOCUMENT_ROOT'] . "/menu/" . $v);
        while(false !== ($v = readdir($t))) {
            if ($v != "." && $v != "..") {
                echo "<li><a href='" . $folder ."/". $v . "'>" . $v . "</a></li>";
            }
        }
        echo "</ul></li>";
    }
} 
echo " </ul>";

?>
    </body>
</html>
于 2011-11-10T14:45:27.107 回答