ホームページ  >  記事  >  バックエンド開発  >  ファイルのダウンロード統計 php プログラミング_PHP チュートリアル

ファイルのダウンロード統計 php プログラミング_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-13 17:25:29995ブラウズ

現在、多くのサイトがファイルをダウンロードするための統計関数を提供しています。この記事では、PHP を使用してこの関数を実装する方法について説明します。この記事は、ダウンロード ファイルのパスを隠し、ユーザーが URL ダウンロードを直接使用できないようにしたいプログラマーにとっても一定の参考になります。 実装環境: Linux+Apache+Php+MysqlWindows98+PWS4+Php+Mysql 1. データベース構造 ファイルエンコーディング、名前、ダウンロードパス、統計情報などのファイル情報を保存するテーブルをデータベースに作成します。対応する SQL ファイルの内容は次のとおりです。 CREATE DATABASE dl_db;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, download/123.tif, 0); 2. PHP プログラミング 1. 関数ファイル 関数ファイルには、データベース接続の初期化関数とプロンプト情報表示関数が含まれます。 dl_func.php3: //初始化数据库连接的程序function dl_dbconnect(){ error_reporting(1+4); //禁掉warning性错误 $dl_in=0; $dl_in=mysql_connect("localhost:3306","root","123456"); if(!dl_in) { //如果连接失败,退出 echo "数据库无法连接"; exit; } mysql_select_db("dl_db",$dl_in); return $dl_in; } //显示提示信息的函数 function infopage($strInfo){ echo ""; }?> 2. ダウンロード接続ページ ダウンロード接続ページは、データベースからダウンロードファイルの情報を読み込み、表示します。 filelist.php3:

ファイルダウンロード "; 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 パスまたは FTP パスにない場合は、ヘッダーの代わりにファイルのコンテンツをエコーすることができます ("location: $arrfile[url]")、ファイルの読み取り方法は比較的簡単なので、ここでは詳しく説明しません 。

www.bkjia.com本当http://www.bkjia.com/PHPjc/532037.html技術記事現在、多くのサイトでファイルのダウンロードに関する統計関数が提供されています。この記事では、ダウンロード ファイルのパスを非表示にし、ユーザーが URL を直接使用してダウンロードできないようにしたい人のために、PHP を使用してこの関数を実装する方法について説明します。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。