下载文件一次 - 损坏文件错误

时间:2013-02-14 11:16:07

标签: php html database download

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

的download.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,也许拉链。

可能是因为路径?

1 个答案:

答案 0 :(得分:0)

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

%PDF-1.4

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