我有一个上传表单
文档被上传到(Uploads / Reference /)文件夹,文档链接存储在mysql数据库中,如下所示:
$sql="INSERT INTO uploaddate (upload_id, file_link)
VALUES
('$upload_id', '$target')";
存储在'uploaddata'表的'file_link'列中的链接如下:
(上传/参考/ 6206webhost change.txt)
现在当我对这个表运行一个select语句时,我想获得一个可点击的链接,而不仅仅是显示纯文本扩展名,可以用来从它的位置下载上传的文件。
我该怎么做?
答案 0 :(得分:1)
您可以这样做:当您使用PHP 呈现页面时,创建一个链接<a href="/download.php?id=doc_id">Download</a>
。
然后在名为 download.php 的新页面中获取文档ID,使用该doc_id从db读取文件名并将该文件发送出去,以便用户可以下载...
<强>编辑:强>
$_GET['id']
获得doc_id:小心,检查值是否真的存在且sanitize it SELECT file_link FROM uploaddate WHERE upload_id = doc_id;
我从其他帖子中写了这个例子,但检查一下以获取alla信息:
if (file_exists($file)) {
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, post-check=0, pre-check=0');
header('Pragma: public');
header('Content-Length: ' . filesize($file));
ob_clean();
flush();
readfile($file);
exit;
}