日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > php >内容正文

php

php下载apk文件源码下载,php实现文件下载功能的几个代码分享

發布時間:2023/12/18 php 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 php下载apk文件源码下载,php实现文件下载功能的几个代码分享 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一個簡單的php文件下載源代碼,雖不支持斷點續傳等,但是可以滿足一些常用的需求了。php下載文件其實用一個a標簽就能實現,比如 magento-1.8.1.0.zip 。但是遇到一些瀏覽器能識別的格式,比如.txt,.html,.pdf等,再用abc.txt 想必也知道會發生什么了。

/**

* 文件下載

*

**/

header("Content-type:text/html;charset=utf-8");

download('web/magento-1.8.1.0.zip', 'magento下載');

function download($file, $down_name){

$suffix = substr($file,strrpos($file,'.'));?//獲取文件后綴

$down_name = $down_name.$suffix;?//新文件名,就是下載后的名字

//判斷給定的文件存在與否

if(!file_exists($file)){

die("您要下載的文件已不存在,可能是被刪除");

}

$fp = fopen($file,"r");

$file_size = filesize($file);

//下載文件需要用到的頭

header("Content-type: application/octet-stream");

header("Accept-Ranges: bytes");

header("Accept-Length:".$file_size);

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

$buffer = 1024;

$file_count = 0;

//向瀏覽器返回數據

while(!feof($fp) && $file_count < $file_size){

$file_con = fread($fp,$buffer);

$file_count += $buffer;

echo $file_con;

}

fclose($fp);

}

?>

也可以看看這個注釋比較詳細的代碼:

//文件下載,下載一張圖片

//$file_name="Angel.mp3";

$file_name="bjnihao.jpg";? //出現中文 程序無法完成下載 提示:文件不存在

//對文件進行轉碼(PHP文件函數 比較古老 需對中文碼轉成 gb2312)

//iconv — Convert string to requested character encoding

//by www.jb51.net

$file_name=iconv("utf-8","gb2312",$file_name);

//設置文件下載路徑(相對路徑)

//$file_path="./dowm/".$file_name;

//使用絕對路徑

$file_path=$_SERVER['DOCUMENT_ROOT']."/http/dowm/".$file_name;

//打開文件---先判斷再操作

if(!file_exists($file_path)){

echo "文件不存在";

return ; //直接退出

}

//存在--打開文件

$fp=fopen($file_path,"r");

//獲取文件大小

$file_size=filesize($file_path);

//http 下載需要的響應頭

header("Content-type: application/octet-stream"); //返回的文件

header("Accept-Ranges: bytes");?? //按照字節大小返回

header("Accept-Length: $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);

//統計讀取多少個字節數

$file_count+=$buffer;

//把部分數據返回給瀏覽器

echo $file_data;

}

//關閉文件

fclose($fp);

?>

封裝函數:

/*

封裝函數:

參數說明----$file_name:文件名

$file_sub_dir:文件下載的子路徑

*/

function file_dowm($file_name,$file_sub_dir){

//文件轉碼

$file_name=iconv("utf-8","gb2312",$file_name);

//使用絕對路徑

$file_path=$_SERVER['DOCUMENT_ROOT']."$file_sub_dir".$file_name;

//打開文件---先判斷再操作

if(!file_exists($file_path)){

echo "文件不存在";

return ; //直接退出

}

//存在--打開文件

$fp=fopen($file_path,"r");

//獲取文件大小

$file_size=filesize($file_path);

/*

//這里可以設置超過多大不能下載

if($file_size>50){

echo "文件太大不能下載";

return ;

}*/

//http 下載需要的響應頭

header("Content-type: application/octet-stream"); //返回的文件

header("Accept-Ranges: bytes");?? //按照字節大小返回

header("Accept-Length: $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);

//統計讀取多少個字節數

$file_count+=$buffer;

//把部分數據返回給瀏覽器

echo $file_data;

}

//關閉文件

fclose($fp);

}

file_dowm("bjnihao.jpg","/http/dowm/");

?>

另一個代碼:

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);

}

}

總結

以上是生活随笔為你收集整理的php下载apk文件源码下载,php实现文件下载功能的几个代码分享的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。