0

首先,我对 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;
?>

这部分本身也可以正常工作。

我现在想结合这两个脚本。这是我完全迷路的地方。我已经尝试了将哪个变量作为“文件名here”放置的所有各种组合,但我只能从下拉按钮中选择与下拉按钮中选择的文件名相呼应。我无法真正获得代码的第二部分来显示我选择的文件的文件内容。我为 $content 变量尝试了 ("$file") 之类的方法,但没有任何反应。

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

任何帮助将不胜感激,因为我是 PHP 的初学者。

干杯。

4

1 回答 1

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;

?>

希望这可以帮助

于 2012-07-17T08:56:55.427 回答