ホームページ  >  記事  >  php教程  >  ファイルを安全にダウンロードするための PHP プログラム

ファイルを安全にダウンロードするための PHP プログラム

WBOY
WBOYオリジナル
2016-06-21 08:58:06744ブラウズ

PHP は安全なファイル ダウンロードを実装します

手順は次のとおりです:

テーブル> このようにして、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"); //打开文件

  //输入文件标签

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

  Header("Accept-Ranges: bytes");

  Header("Accept-Length: ".filesize($file_dir . $file_name));

  Header("Content-Disposition: attachment; filename=" . $file_name);

  //输出文件内容

  echo fread($file,filesize($file_dir . $file_name));

  fclose($file);

  exit;}

  而如果文件路径是"http"或者"ftp"网址的话,则源代码会有少许改变,程序如下:

  $file_name = "info_check.exe";

  $file_dir = "www.chinaz.com/";

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

  }

$file_name = "info_check.exe"

$file_dir = "/public/www/download/";

if (!file_exists($file_dir . $file_name)) { //ファイルが存在するかどうかを確認します

エコー「ファイルが見つかりません」


終了

} else {

$file = fopen($file_dir . $file_name,"r") //ファイルを開きます //ファイルタグを入力 ヘッダー("コンテンツ タイプ: application/octet-stream"); Header("Accept-Range: バイト"); Header("Accept-Length: ".filesize($file_dir . $file_name)); Header("Content-Disposition:attachment; filename=" . $file_name); //ファイルの内容を出力します echo fread($file,filesize($file_dir . $file_name)); fclose($ファイル) 終了;} ファイルパスが「http」または「ftp」URL の場合、ソースコードは次のように少し変わります。 $file_name = "info_check.exe" $file_dir = "www.chinaz.com/" $file = @ fopen($file_dir . $file_name,"r"); if (!$file) { エコー「ファイルが見つかりません」 } else { ヘッダー("コンテンツ タイプ: application/octet-stream"); Header("Content-Disposition:attachment; filename=" . $file_name); while (!feof ($file)) { echo fread($file,50000); } fclose ($ファイル) }
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。