显示所选.txt文件的内容

时间:2014-03-07 21:47:27

标签: php drop-down-menu text-files

我有下拉菜单:

<form id="page" name="page" mode="post" action="display.php">
    <select name="car" id="car">
      <option value="volvo">Volvo</option>
      <option value="saab">Saab</option>
      <option value="mercedes">Mercedes</option>
      <option value="audi">Audi</option>
    </select> 
</form>

我在这里有来自另一个用户的display.php示例来显示文本内容:

 <?php
$file = $_POST['car'].'.txt';
$contents = file($file); 
$string = implode("<br>", $contents);
echo $string;
echo "<br><br>";
?>

这会导致页面更改为display.php但不显示任何.txt文件内容。 当我使用foreach时(glob * .txt显示所有文本文件内容,原因很明显。但是我无法在当前配置中找到只显示所选文本的错误。请告知。

1 个答案:

答案 0 :(得分:1)

要完成这项工作,您需要将select框中的数据发布到PHP文件中。

theForm.php中的HTML代码:

<form action="someFile.php" method="POST">
    <select name="car" id="car">
        <option value="volvo">Volvo</option>
        <option value="saab">Saab</option>
        <option value="mercedes">Mercedes</option>
        <option value="audi">Audi</option>
    </select>
    <input type="submit value="Go"/>
</form>

这告诉浏览器当用户点击“开始”时,将数据从下拉框发送到someFile.php,PHP可以使用它。

someFile.php中的PHP代码:

<?php
$file = $_POST['car'] . '.txt';
$contents = file($file); 
$string = implode("<br>", $contents);
echo $string;
?>

$_POST数组是一个内置的PHP变量,包含从表单发送到服务器的信息。然后PHP使用该文本来确定应该读取哪个.txt文件。然后从文件中读取该文件,并echo编辑给用户。

因此,如果用户选择了Volvo,则此代码将返回名为volvo.txt的文件的内容。