0

我想要做的是只允许每个用户一次下载(一次访问href)为此我在用户表中有一个变量,当点击链接时我会更改它。我使用“download.php?file=file.xxx”来做到这一点。

下载.php

$file= basename($_GET['file']);
$root = "documents/rece/";
$path= $root.$file;
echo $path;

if (is_file($path))
{
   header('Content-Description: File Transfer');
   header('Content-Type: application/octet-stream');
   header('Content-Disposition: attachment; filename='.$file);
   header('Content-Transfer-Encoding: binary');
   header('Expires: 0');
   header('Cache-Control: must-revalidate');
   header('Pragma: public');
   header('Content-Length: ' . filesize($path));
   readfile($path);
}
else
      echo "File error";
   exit();

?>

我还更新了 DDBB 并且有效。之后我可以显示或隐藏链接。问题是下载的文件已损坏,无法打开。我会将它与 pdf 或 doc 一起使用,也许是 zip。

会不会是路径的原因?

4

1 回答 1

0

据我所知,PDF 文件以这样的开头:

%PDF-1.4

你的以 4 个空行加上documents/rece/Form.pdf%PDF-1.4. 您显然是在发布代码之前自己在某个地方打印它。

于 2013-02-14T11:50:45.953 回答