0

我想使用 HTML 和 PHP 创建一个下载按钮。下面是我的 HTML 代码 -

<!DOCTYPE html>
<html>
   <head>
       <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
   </head>
   <body>
       <form action="download.php" method="post">
           <input type="submit" name="submit" value="Download File" />
       </form>
   </body>
</html>

现在我创建了另一个文件,名为“download.php”,并将其保存在与我的 HTML 文件相同的目录中。PHP文件的代码如下 -

<?php
  header('Content-Type: application/download');
  header('Content-Disposition: attachment; filename="Sample.mp3"');
  header("Content-Length: " . filesize("Sample.mp3"));
  $fp = fopen("Sample.mp3", "r");
  fpassthru($fp);
  fclose($fp);
?>

Sample.mp3 与 HTML 文件保存在同一文件夹中。我从互联网上获得了这些代码。

现在我的问题是,当我点击下载按钮时,PHP 文件的内容被打开而不是下载文件。

谁能帮我解决这个问题。

4

5 回答 5

1

现在我的问题是,当我点击下载按钮时,PHP 文件的内容被打开而不是下载文件。

您需要在以下位置运行脚本:

  • 网络服务器
  • 支持PHP
  • 配置为将该文件视为 PHP
于 2013-07-22T09:51:00.933 回答
1

您可能没有在 Web 服务器中运行您的 .php 文件。

  • 请在您的计算机上安装个人网络服务器,例如 XAMPP 或 WAMP
  • 然后把你的文件放到www文件夹
  • 打开浏览器
  • 输入 localhost/your_HTML_file
于 2013-07-22T09:53:42.463 回答
1

这对我有用:)

<a href="/path/to/downloadfile.csv">
    <button class="btn">
        <i class="fa fa-download"></i> Download
    </button>
</a>
于 2018-10-24T12:54:16.503 回答
1

使用 PHP 更需要编码!如果您使用的是html5并且仅出于下载目的这样做,您可以使用<a>链接,这很容易和简单

<!DOCTYPE html>
<html>
   <head>
       <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
   </head>
   <body>
      <a href="Sample.mp3" download>Download </a>
   </body>
</html>
于 2016-05-27T07:06:47.447 回答
-2

在 php 文件中试试这个:

$file = 'Sample.mp3'
header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename='.basename($file));
header('Content-Transfer-Encoding: binary');
header('Expires: 0');
header('Cache-Control: must-revalidate');
header('Pragma: public');
header('Content-Length: ' . filesize($file));
ob_clean();
flush();
readfile($file);
exit;
于 2013-07-22T09:56:38.927 回答