WordPress Post HTML表单提交并获取数据到其他页面,在那里它接收数据并下载文件

jk9hmnmh  于 2023-05-28  发布在  WordPress
关注(0)|答案(1)|浏览(186)

我正在做一个网站,我会写我的网站模板不同的文章。我想要的形式后页

<form id="downloadForm" action="https://getintopc.software/wait-for-resource-to-download" method="post" target="_blank">
<input name="id" type="hidden" value="https://getintopc.s3.amazonaws.com">
<input name="filename" type="hidden" value="newsplus-news-and-magazine-wordpress-theme-2023-01-17-09-54-35-utc.zip">
<input name="filesize" type="hidden" value="15.5 MB">
<p></p>
<div align="center">
<button class="btn" title="Size: 15.5 MB">Download 64 Bit x64</button>
</div>
</form>

https://getintopc.software/wait-for-resource-to-download打开并文件下载此文件有php代码,但它不工作

<?php
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
if (isset($_POST['id']) && isset($_POST['filename'])) {
    $id = $_POST['id'];
    $filename = $_POST['filename'];
    $filesize = $_POST['filesize'];
    header('Content-Type: application/octet-stream');
    header('Content-Disposition: attachment; filename="' . $filename . '"');
    header('Content-Length: ' . $filesize);
    readfile($id . '/' . $filename);
    exit;
} else {
    echo "Invalid form data.";
}

{\fnSimHei\bord1\shad1\pos(200,288)}

dgsult0t

dgsult0t1#

你的问题在按钮上。您使用了常规按钮标记:

<button>

而这将不会发送表单。
要发送论坛,您需要提交按钮,它的语法看起来像这样:

<input type="submit" value="click me!" />

但是可能你的代码过于复杂,如果你运行这个,你将被重定向到提供的页面,你的页面(用户点击按钮的地方)将无法访问。也许一个简单的超链接就能解决这个问题?

<a href="https://getintopc.s3.amazonaws.com/<?php echo $filename; ?>" target="_blank">Click Me</a>

有了这段PHP代码,你可以在变量中保留文件名,并在不同的文件中重用这段代码,只需替换变量。使用target _blank,它将在新选项卡中打开,并且ZIP应自动下载。
如果没有使用形式的隐藏动机,这将是更简单和更短的解决方案。

相关问题