【发布时间】:2013-06-22 21:15:08
【问题描述】:
到目前为止,这个网站对我很有帮助,但我似乎终于遇到了一个问题。 如何在 html 输入中放置变量的问题之前已经被问过和回答过,但是有一个问题我似乎无法开始工作。
<?php
if(isset($_POST['file_name'])){
$file = $_POST['file_name'];
header('Content-Disposition: attachment; filename="'.$file.'"');
readfile('uploads/'.$file);
exit();
}
?>
<form action="force_download.php" method="post" name="downloadform">
<input name= "file_name" type="hidden" value="test.txt" />
<input type="submit" value="Download">
</form>
上面的代码用于下载文本文件“test.txt”,这是我上传文件夹中的许多文本文件之一。 我的问题? 如何将值 test.txt 转换为变量?我以前读过的一个遮阳篷是这样的:
<input type="hidden" name="file_name" value="<?php echo htmlspecialchars($file); ?>" />
问题是当我这样做时,它会下载 force_download.php 而不是我的任何文件。
我几天前才开始编码,所以是的...抱歉新手问题。
【问题讨论】:
-
你的意思是你希望表单动作是用户在输入中插入的文件名?
-
不太确定你在问什么,但也许是 file_get_contents()
-
以上代码用于从我的网站下载文件。现在我正在下载 test.txt。这很好用!我得到 test.txt 没问题。但是,我的网站上有多个文件,我希望它们都有一个下载按钮。我想,要做到这一点,我必须将我的 value="test.txt" 转换为 value=$file 代码。我尝试使用您在我的主代码下方看到的行来执行此操作。但是,这会导致我下载“force_download.php”文件,而不是我在网站上上传的任何文件。
-
您需要使用 javascript 来更改 DOM 对象的属性
标签: php html variables input download