index.php

 <!DOCTYPE html>
<html>
<head>
<title></title>
<meta charset="utf-8">
</head>
<body>
<a href="downserver.php?filename=哈哈.JPG">点击下载</a>
<img src='/object-oriented/down/哈哈.JPG' width='100px'>
<br/>
<a href="downserver.php?filename=哈哈.JPG">点击下载</a>
<img src='/object-oriented/down/哈哈.JPG' width='100px'>
<br/>
<a href="downserver.php?filename=哈哈.JPG">点击下载</a>
<img src='/object-oriented/down/哈哈.JPG' width='100px'>
<br/>
<a href="downserver.php?filename=哈哈.JPG">点击下载</a>
<img src='/object-oriented/down/哈哈.JPG' width='100px'>
<br/>
</body>
</html>

downserver.php

 <?php
require('file_down.php');
$filename=$_REQUEST['filename'];
downfile($filename);
?>

file_down.php

 <?php
function downfile($file_name){
// $file_name="哈哈.JPG";
//给文件名转码
$file_name=iconv("utf-8", "gb2312", $file_name);
$file_path="./down/".$file_name;
if (!file_exists($file_path)) {
echo "文件不存在";
return;
}
$fp=fopen($file_path, "r");
$file_size=filesize($file_path);
// 下载需要的头文件
header("Content-type:application/octed-stream");
header("Accept-Ranges:bytes");
header("Accept-Lenght:$file_size");
header("Content-Disposition:attachment;filename=".$file_name);
$buffer=1024;
$file_count=0;
//读取文件内容
while (!feof($fp) &&($file_size-$file_count>0)) {
$file_data=fread($fp, $buffer);
echo $file_data;
$file_count+=$buffer;
}
fclose($fp);
}
// downfile("哈哈.JPG");
?>

打印结果:

【十八】php文件下载源码-LMLPHP

03-31 18:08
查看更多