我想要做的只是每个用户只允许一次下载(一次访问一个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,也许是zip。
难道是因为路径吗?
如果连接丢失怎么办?你应该在下载完成后设置标志而不是点击? – CloudyMarble 2013-02-14 11:19:11
你是对的,我正在消除这种可能性。我会考虑的。无论如何,我的问题是,文件不正确。我不知道这是因为标题(我认为他们是正确的)还是因为什么...感谢您的评论 – legami 2013-02-14 11:21:57
尝试检查任何BOM字符 – 2013-02-14 11:29:29