【问题标题】:HTML DropDown Menu with PHP Download带有 PHP 下载的 HTML 下拉菜单
【发布时间】:2012-06-14 01:26:08
【问题描述】:

我一直在尝试将 PHP 脚本与 HTML 下拉菜单相关联。这个 PHP 脚本的作用是从 textarea 中获取输入,然后在提交时它会请求用户从表单中下载输入或“文件”。但是,我也希望下拉列表中的每个选择在下载时都有自己的扩展名。例如:如果下拉选项之一是“PHP”,并且选择了该选项,当用户通过“另存为”按钮保存文件时,文件将自动包含扩展名“.php”等等.有没有可能以某种方式做到这一点?

【问题讨论】:

  • 你的意思是当用户试图从浏览器中保存时,比如右键单击或文件菜单?
  • @jprofitt 有点,是的。

标签: php html forms drop-down-menu


【解决方案1】:

假设你有一个看起来像这样的表单:

<form action='myphpfile.php' method='post'>
    <input type='text' name='filename' /> 
    <select name='extension'>
        <option value='php'>PHP</option>
        <option value='html'>HTML</option>
    </select>
    <input type='submit' value='Save As' />
</form>

然后在您的 PHP 文件中,您只需将两个值连接在一起:

$file = $_POST['filename'] . '.' . $_POST['extension'];

然后将文件的链接发回给用户。

编辑:完整 PHP 文件的可能示例:

myphpfile.php:

<?php
$file = $_POST['filename'] . '.' . $_POST['extension'];
header("Content-disposition: attachment; filename=$file");
readfile($file);
?>

【讨论】:

  • 这正是我正在寻找的 - 但是,我仍然对 PHP 文件的实际外观有些困惑;可以发一个例子吗?
  • 您只需要在 PHP 中使用 header() 将文件的链接发回给用户。我在编辑中发布了一个示例。
  • 太完美了——我看到了其他例子,包括内容处置等,所以我知道我错过了一些东西。但这很棒,谢谢。
【解决方案2】:

是的。

您建议的一种方法是将表单作为POST 提交处理:在客户端,让您的表单选择存储在字段value 属性中的扩展名。在服务器端,检查$_POST var 是否为您的$_POST[ 'field' ]

另一种方法是将 iFrame 添加到文档中,并将其源设置为返回资源的脚本。在这种情况下,它看起来像script.php?field=value,您将检查$_GET[ 'field' ]$_GET 变量以确定您在PHP 中设置的扩展类型。

【讨论】:

    猜你喜欢
    • 2016-06-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多