ホームページ  >  記事  >  バックエンド開発  >  ダウンロード機能を実装するための PHP コード_PHP チュートリアル

ダウンロード機能を実装するための PHP コード_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-21 15:15:29716ブラウズ

wzskynet#163.com
・phpscapeshellcmdのマルチバイトエンコーディングの脆弱性
・PHPにおけるキャッシュ技術の応用の詳細な説明
・PHP V5を利用したマルチタスクアプリケーションの開発
・MySQLにデータを送信するプロセスの詳細な分析PHP
・静的パブリッシングを実現する PHP 方法の簡単な説明
「ファイルをダウンロードする」ということは、とても簡単だと言う価値があるでしょうか?もちろん、それはあなたが思っているほど単純ではありません。たとえば、顧客が特定のファイルをダウンロードする前にフォームに記入してもらいたい場合、最初に「リダイレクト」メソッドを使用する必要があります。まずフォームが記入され完了したかどうかを確認し、次に URL を指定する必要があります。たとえば、作成者が作成した次のコードを顧客がダウンロードできるようにします。

コードは次のとおりです。
if ($form_completed) {
Header("場所: http://www.jb51.net/download/info_check.exe")
}


;次の状況:


コードをコピー

コードは次のとおりです:
ファイルのダウンロードを開始< ;/a> IDメソッドはダウンロードするファイルの番号を受け取り、「リダイレクト」を使用して実際のURLに接続します。

「オンラインショッピング」に関する電子商取引 Web サイトを作成し、セキュリティの問題を考慮する場合、ユーザーが URL を直接コピーしてファイルをダウンロードすることを望まない場合は、PHP を使用して実際のファイルを直接読み取ることをお勧めします。ファイルを選択してダウンロードします。プログラムは次のとおりです:


コードをコピーします

コードは次のとおりです:
$file_name = "info_check.exe" $file_dir = "/public/www/download/"; ;
if (!file_exists( $file_dir . $file_name) { // ファイルが存在するかどうかを確認します
echo "ファイルが見つかりません"
} else {
$file = fopen($file_dir . $file_name," r"); //ファイルを開く
//ファイルタグを入力
Header("Content-type: application/octet-stream");
Header("Accept-Ranges: bytes");
Header("Accept-長さ: ".filesize($file_dir . $file_name));
Header("Content-Disposition:attachment; filename=" . $file_name);
// 出力ファイルの内容
echo fread($file,filesize($file_dir . $file_name));
fclose($ file);
?>


ファイルパスが「http」または「ftp」の場合、ソースコードは次のようになります。 :



コードをコピーします
コードは次のとおりです:

<? $file_name = "info_check.exe" $file_dir = "http://www.jb51.net/"; file = @ fopen($file_dir . $file_name,"r") ; if (!$file) { echo "ファイルが見つかりません"
} else {
Header("Content-type: application/octet-stream") );
Header("Content-Disposition:attachment; filename= " . $file_name);
while (!feof ($file)) {
echo fread($file,50000)
}
fclose ($file );
}
?>


この方法では、PHP を直接出力ファイルとして使用できます。

phpファイルの安全なダウンロードを有効にします!



コードをコピーします

コードは次のとおりです:


public function downloads($name){
$name_tmp =explode("_",$name); $type = $name_tmp[0]; $file_time =explode(".",$name_tmp[3]); $file_time = $file_time[0]; $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 = fopen($file_dir.$name,"r"); Header("Accept-Range : bytes");
Header("Accept-Length: ".filesize($file_dir . $name));
Header("Content-Disposition:attachment; filename=".$name);エコー fread($file, filesize($file_dir.$name));
fclose($file);



http://www.bkjia.com/PHPjc/326116.html

www.bkjia.com

tru​​e

http://www.bkjia.com/PHPjc/326116.html

技術記事

wzskynet#163.com ·phpscapeshellcmdマルチバイトエンコーディングの脆弱性 ·PHPにおけるキャッシュ技術の応用の詳細な説明 ·PHP V5を利用したマルチタスクアプリケーションの開発 ·PHPによるMySQLへのデータ送信の詳細な分析...