传递文件名到php中下载,如何使用PHP单击文件名来下载文件?

我有一个信息列表,其中有一个文件名超链接的字段。我希望用户在单击该文件时下载该文件。

那么,如何使用PHP单击文件名来下载文件?

我使用了代码如下的ajax进行了尝试,但未下载任何文件。

download.php

$filename = $_GET['val'];

// Fetch the file info.

$filePath = $_SERVER['DOCUMENT_ROOT'] . "/dfms/images/docs/".$filename;

if(file_exists($filePath)) {

$fileName = basename($filePath);

$fileSize = filesize($filePath);

// Output headers.

header("Cache-Control: private");

header("Content-Type: application/stream");

header("Content-Length: ".$fileSize);

header("Content-Disposition: attachment; filename=".$fileName);

// Output file.

readfile ($filePath);

exit();

}

else {

die('The provided file path is not valid.');

}

javascript功能

function Inint_AJAX() {

try { return new ActiveXObject("Msxml2.XMLHTTP"); } catch(e) {} //IE

try { return new ActiveXObject("Microsoft.XMLHTTP"); } catch(e) {} //IE

try { return new XMLHttpRequest(); } catch(e) {} //Native Javascript

alert("XMLHttpRequest not supported");

return null;

};

function download(path,val) {

var req = Inint_AJAX();

req.open("GET", path+"download.php?val="+val); //make connection

//req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;charset=iso-8859-1"); // set Header

req.send(null); //send value

req.onreadystatechange = function () {

if (req.readyState==4) {

if (req.status==200) {

}

}

};

}

链接下载

DMS.doc

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值