檔案下載統計php程式設計 (轉)
實現環境:++Php+My
98+PWS4+Php+
一、結構
資料庫中建立一個表,檔案資訊,包括檔案編碼、名稱、下載路徑、統計,相應的sql檔案內容如下:
CREATE DATABASE dl_;
CREATE TABLE dl_file (
id varchar(6),
name varchar(50),
url varchar(200),
count bigint(10)
);
INSERT INTO dl_file VALUES( '000001', 'test', 'test.zip', 0);
INSERT INTO dl_file VALUES( '000002', 'tif', '/123.tif', 0);
二、php程式設計
1、 檔案
函式檔案包括資料庫連線初始化函式和提示資訊顯示函式。
dl_func.php3:
//初始化資料庫連線的
function dl_dbconnect(){
error_reporting(1+4); //禁掉warning性錯誤
$dl_in=0;
$dl_in=mysql_connect("localhost:3306","","123456");
if(!dl_in) { //如果連線失敗,退出
echo "資料庫無法連線";
exit;
}
mysql__db("dl_db",$dl_in);
return $dl_in;
}
//顯示提示資訊的函式
function infopage($strInfo){
echo "
}
?>
2、 下載連線頁面
下載連線頁面從資料庫讀取下載檔案資訊並顯示。
filelist.php3:
function newopen(url){
window.open(url,"_self");
return;
}
require("dl_func.php3");
$dl_in=dl_dbconnect();
$strQuery="select * from dl_file order by id";
$dl_res=mysql_query($strQuery,$dl_in);
while($arr_dlfile=mysql_fetch_array($dl_res)){
echo "";
echo "$arr_dlfile[name]";
echo " ";
echo "(下載次數:$arr_dlfile[count])";
echo "
";
}
mysql_close($dl_in);
?>
3、 下載頁面
當檔案存在時,下載頁面轉到要下載的檔案,如果發生錯誤,則顯示提示資訊。
filedown.php3:
require("dl_func.php3");
$dl_in=dl_dbconnect();
$strQuery="select url from dl_file where id='$id'";
$dl_res=mysql_query($strQuery,$dl_in);
if(!($arrfile=mysql_fetch_array($dl_res))){ //選擇結果為空
infopage("錯誤的id號");
exit;
}else{
$arr_temp=split("/",$arrfile[url]);
$filename=$arr_temp[sizeof($arr_temp)-1];
if(strlen(trim($filename))==0){//檔名稱為空
infopage("錯誤的檔案");
exit;
}else{
$strQuery="update dl_file set count=count+1 where id='$id'";
mysql_query($strQuery,$dl_in);
header("Content-type: application/file");
header("Content-Disposition: attachment; filename=$filename");//預設時檔案儲存對話方塊中的檔名稱
header("location:$arrfile[url]");
//echo “this is test for echo-download”;
}
}
mysql_close($dl_in);
?>
實現的原理是filelist.php3顯示所有檔案的連線,然後根據傳遞的id來得到檔案的名稱和路徑,透過重新定位來下載檔案。以上程式筆者測試過,執行正常。
檔案url可以是本地的,也可以是其他上的。
如果檔案內容儲存在資料庫中,或者檔案沒有在http和的路徑下,解決的方法可以利用將檔案的內容echo出來取代header(“location:$arrfile[url]”),由於讀取檔案方法相對簡單,這裡不再贅述。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752043/viewspace-987255/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 檔案程式設計、檔案下載程式設計
- PHP+Mysql統計檔案下載次數例項PHPMySql
- VB程式設計師的FTP程式設計指南1.4-下載或上傳檔案 (轉)程式設計師FTP
- 不好的程式設計習慣之檔案下載程式設計
- php檔案下載PHP
- php 檔案下載PHP
- 設計一個健壯的大型檔案下載系統
- 玩轉 PHP 網路程式設計全套之中斷系統程式設計PHP程式設計
- Linux核心模組程式設計/proc 檔案系統(轉)Linux程式設計
- 使用PHP下載檔案PHP
- PHP檔案下載原理PHP
- php程式碼生成txt檔案並下載PHP
- PHP上傳檔案設計分析PHP
- 玩轉 PHP 網路程式設計全套之多程式程式設計PHP程式設計
- Linux系統程式設計-檔案IOLinux程式設計
- [php]檔案下載簡述PHP
- Linux系統程式設計【4】——檔案系統Linux程式設計
- Linux系統程式設計之檔案IOLinux程式設計
- Linux檔案程式設計Linux程式設計
- 玩轉 PHP 網路程式設計全套之 socket stream 程式設計PHP程式設計
- 檔案關聯型木馬的程式設計思路 (轉)程式設計
- Linux核心程式設計(字元裝置檔案)(轉)Linux程式設計字元
- 【shell程式設計】目錄檔案計數程式設計
- perl語言程式設計 下載程式設計
- LoadRunner中如何驗證下載的檔案大小、統計下載時間、度量下載速度?
- 微信小程式檔案預覽和下載-檔案系統微信小程式
- kafka檔案系統設計解析Kafka
- Rust 程式設計,讀取檔案Rust程式設計
- 《程式設計之道》譯者序(轉載) (轉)程式設計
- 讓PHP提供更好的檔案下載PHP
- 初探WINDOWS下IME程式設計 (轉)Windows程式設計
- Android 程式設計下如何修改 jar 檔案的包名Android程式設計JAR
- VB程式設計師的FTP程式設計指南1.1-檔案傳輸協議FTP概述 (轉)程式設計師FTP協議
- Linux核心程式設計(和裝置檔案對話)(轉)Linux程式設計
- 針對Excel表格檔案操作的程式設計實現 (轉)Excel程式設計
- linux C 的檔案程式設計Linux程式設計
- iOS 程式設計 PCH檔案 配置注意iOS程式設計
- PHP下載遠端檔案及獲取檔案內容PHP