php实现文件下载简单示例(代码实现文件下载)
程序员文章站
2023-01-08 09:31:23
复制代码 代码如下:public function downloads($name){$name_tmp = explode("_",$name);$type = $nam...
复制代码 代码如下:
public function downloads($name){
$name_tmp = explode("_",$name);
$type = $name_tmp[0];
$file_time = explode(".",$name_tmp[3]);
$file_time = $file_time[0];
$file_date = date("y/md",$file_time);
$file_dir = site_path."/data/uploads/$type/$file_date/";
if (!file_exists($file_dir.$name)){
header("content-type: text/html; charset=utf-8");
echo "file not found!";
exit;
} else {
$file = fopen($file_dir.$name,"r");
header("content-type: application/octet-stream");
header("accept-ranges: bytes");
header("accept-length: ".filesize($file_dir . $name));
header("content-disposition: attachment; filename=".$name);
echo fread($file, filesize($file_dir.$name));
fclose($file);
}
}
示例2:代码实现文件下载
一般实现下载都是调用url来下载,但是遇到ie能识别打开的文件就不能用这种方式了,比如下载一个图片、html网页等,这时就需要编程来实现,以下php代码可以解决:
复制代码 代码如下:
<?
if( empty($_get['filename'])|| empty($_get['filedir'])|| empty($_get['fileid'])){
echo'<script> alert("非法连接 !"); location.replace ("index.php") </script>'; exit();
}
$file_name=$_get['filename'];
$file_dir=$_get['filedir'];
$fileid=$_get['fileid'];
$file_dir = $file_dir."/";
if (!file_exists($file_dir.$file_name)) { //检查文件是否存在
echo "文件找不到";
exit;
} else {
$file = fopen($file_dir . $file_name,"r"); // 打开文件
// 输入文件标签
header("content-type: application/octet-stream");
header("accept-ranges: bytes");
header("accept-length: ".filesize($file_dir . $file_name));
header("content-disposition: attachment; filename=" . $file_name);
// 输出文件内容
echo fread($file,filesize($file_dir . $file_name));
fclose($file);
exit();
}
?>
上一篇: 做鸡蛋怎么做,鸡蛋有很多种做法