php实现当前页面点击下载文件的实例
php控制器中代码
public
function
downFile(
$path
=
\'\'
){
if
(!
$path
) header(
"Location: /"
);
download(
$path
);
}
download文件下载函数代码
function
download(
$file_url
,
$new_name
=
\'\'
){
if
(!isset(
$file_url
)||trim(
$file_url
)==
\'\'
){
echo
\'500\'
;
}
if
(!
file_exists
(
$file_url
)){
//检查文件是否存在
echo
\'404\'
;
}
$file_name
=
basename
(
$file_url
);
$file_type
=
explode
(
\'.\'
,
$file_url
);
$file_type
=
$file_type
[
count
(
$file_type
)-1];
$file_name
=trim(
$new_name
==
\'\'
)?
$file_name
:urlencode(
$new_name
);
$file_type
=
fopen
(
$file_url
,
\'r\'
);
//打开文件
//输入文件标签
header(
"Content-type: application/octet-stream"
);
header(
"Accept-Ranges: bytes"
);
header(
"Accept-Length: "
.
filesize
(
$file_url
));
header(
"Content-Disposition: attachment; filename="
.
$file_name
);
//输出文件内容
echo
fread
(
$file_type
,
filesize
(
$file_url
));
fclose(
$file_type
);
}
html代码
<iframe id=
"iframe"
src=
""
style=
"display: none;"
></iframe>
$(
function
(){
$(
\'.downLoad\'
).click(
function
(){
var
path = $(this).attr(
\'path\'
);
$(
\'#iframe\'
).attr(
\'src\'
,
"php文件路径?path="
+path);
})
})