<?php
$file=
$_GET[
'file'];
//获取上传文件的名字
if(
$file==
''){
echo
'不知道下载哪个,要不你来';
exit;
}
$full_name=
'upload/'.
$file;
$full_name=
iconv(
'utf-8',
'gbk',
$full_name);
$file_size=
filesize(
$full_name);
//告诉浏览器我向你回应的内容是文件,请保存
header(
"Content-type:appliication/octet-stream");
header(
"Accept-Ranges:bytes");
header(
"Content-Length:
$file_size
");
header(
"Content-Disposition:attachment;filename=".
$file);
$fp=
fopen(
$full_name,
'r');
//开始读取服务器文件类容
while(!
feof(
$fp)){
//指文件是否读取到末端,到了就会返回true,这里指变读变保存
$data=
fread(
$fp,
1024);
//开始读取
echo
$data;
}
fclose(
$fp);
//关闭读取
<
a
href=
"int.php?file=amao.jpg"
>
如果下载的文件较多、文件大,通常就会使用百度云,如果下载的文件小、文件少的话,通常会使用php进行下载
通过php下载文件的原理:
先通过php读取下载的文件资源,读取到这些资源之后,再将其保存到文件中