显示下拉菜单选项中的文件输出

时间:2012-07-17 08:45:07

标签: php drop-down-menu echo

首先,我是PHP的新手,但到目前为止,我喜欢我见过它的可能性。

好的,这是我的问题。我有一个脚本,它会自动扫描文件夹并在下拉菜单中显示该文件夹的文件名。

<?php
$dirname = "logs";
$dir = opendir($dirname);
echo '<select name="file2">';
echo '<option value="">Logfiles</option>';
while(false != ($file = readdir($dir)))
        {
            if(($file != ".") and ($file != ".."))
                {
        echo "<option value=".$file.">$file</option>";
                }
        }
                echo '</select>';
?>

到目前为止,这部分工作得很好。

然后我有一段代码可以显示所选文件的内容。

<?php
$content = file("filenamehere");
$data = implode("<br>",$content);
echo $data;
?>

这部分本身也很好。

我现在想要结合这两个脚本。这是我完全迷失的地方。我已经尝试了将变量的所有各种组合作为“filenamehere”放置,但我只能从下拉菜单中选择文件中选择的文件名。我实际上无法获得代码的第二部分来显示我选择的文件的文件内容。我为$ content变量尝试了类似(“$ file”)的东西,但没有任何反应。

当然,任何其他单一脚本解决方案也会很棒。我只需要能够扫描文件夹,将其文件列在下拉列表中,一旦我选择了一个文件,我希望它显示在页面上。

任何帮助都会非常受欢迎,因为我是PHP的初学者。

干杯。

1 个答案:

答案 0 :(得分:0)

假设您在一个页面中执行所有操作。我在form下拉列表周围添加了select标记,并添加了一个提交按钮

echo '<form name="displayfile" action="" method="POST">';
echo '<select name="file2">';
echo '<option value="">Logfiles</option>';
while(false != ($file = readdir($dir)))
        {
            if(($file != ".") and ($file != ".."))
                {
        echo "<option value=".$file.">$file</option>";
                }
        }
                echo '</select>';
echo '<input type="submit" value="display file" />';
echo '</form>';

第二部分

<?php
    //file2 is the name of the dropdown
    $selectedfile = @$_POST['file2'];
    $content = file($selectedfile);
    $data = implode("<br>",$content);
    echo $data;

?>

希望这有帮助