-
- // フォームが完全に記入されているかどうかを確認します...
- if ($form_completed) {
- Header("Location: http://bbs.it-home.org/download/info_check .exe ");
- exit;
- }
- ?>
コードをコピー
または次の状況:
ファイルのダウンロードを開始します
ここでは、IDメソッドでダウンロードするファイルの番号を受け取り、「Redirect」メソッドで実際のURLに接続します。
ユーザーが URL を直接コピーしてファイルをダウンロードしたくない場合は、PHP を使用して実際のファイルを直接読み取り、ダウンロードすることを検討できます。
コードは以下のように表示されます:
-
- $file_name = "info_check.exe";
- $file_dir = "/public/www/download/";
- if (!file_exists($file_dir . $file_name)) { //チェックファイルが存在するかどうか
- echo "ファイルが見つかりません";
- exit;
- } else {
- $file = fopen($file_dir . $file_name,"r") // ファイルを開きます
- // ファイルラベルを入力します
- ヘッダー(" Content-type: application/octet-stream");
- Header("Accept-Ranges: bytes");
- Header("Accept-Length: ".filesize($file_dir . $file_name));
- Header(" Content- 配置: filename=" . $file_name);
- // 出力ファイルの内容
- echo fread($file,filesize($file_dir . $file_name));
- fclose($file);
- exit;}
- ? >
コードをコピーします
そして、ファイルパスが「http」または「ftp」URLの場合、ソースコードは次のようになります。
-
- $file_name = "info_check.exe";
- $file_dir = "http://bbs.it-home.org/";
- $file = @fopen($file_dir . $ file_name,"r");
- if (!$file) {
- echo "ファイルが見つかりません";
- } else {
- Header("Content-type: application/octet-stream");
- Header("Content-Disposition : 添付ファイル名 = . $file_name);
- while (!feof ($file)) {
- echo fread($file,50000);
- }
- fclose ($file);
- }
- ?>
-
コードをコピー
この方法では、PHP を使用してファイルを直接出力できます。上記では php ヘッダー関数が使用されています。詳細については、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_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 "ファイルが見つかりません!";
- 終了;
- } 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);
- }
- }
- ?>
-
コードをコピー
|