ホームページ  >  記事  >  バックエンド開発  >  PHPファイルのダウンロードサンプルコード

PHPファイルのダウンロードサンプルコード

WBOY
WBOYオリジナル
2016-07-25 09:11:57971ブラウズ

ファイルの強制ダウンロードを実装するにはphpを使用しており、ヘッダー関数がよく使われます。 例、phpファイルのダウンロード例。

  1. class Downfile {
  2. function downserver($file_name){
  3. $file_path = "./img/".$file_name;
  4. //トランスコーディング、ファイル名は gb2312 に変換されて解決されます中国語の文字化け
  5. $file_name = iconv("utf-8","gb2312",$file_name);
  6. $file_path = iconv("utf-8","gb2312",$file_path);
  7. $fp = fopen($ file_path," r") または exit("ファイルが存在しません");
  8. //変数を空のままにして各ダウンロードのサイズを定義します
  9. $buffer = 1024;
  10. //ファイルのサイズを取得します
  11. $file_size = filesize($file_path);
  12. / /header("Content-type:text/html;charset=gb2312");
  13. //使用される 4 つの http プロトコル情報を書き込みます
  14. header("Content-type:application/octet-stream ");
  15. header(" Accept-Ranges:bytes");//無視して構いません
  16. header("Content-Length: ".$file_size);//ここの元のテキストは Accept-Length です。http を確認した後、プロトコルでは、そのようなアイテムはありません
  17. header("Content-Disposition:attachment ;filename=".$file_name);
  18. //バイトカウンター、現在のバイト数を記録します
  19. $count = 0;
  20. while(!feof($ fp) && $file_size-$count>0){
  21. / /$fp によって開かれたファイル ストリームから毎回 $buffer サイズのデータ​​を読み取ります
  22. $file_data = fread($fp,$buffer);
  23. $count+=$buffer;
  24. //読み取りデータを読み取ります
  25. echo $file_data;
  26. }
  27. //ファイルストリームを閉じます
  28. fclose($fp);
  29. }
  30. }
  31. ?>
コードをコピー

この関数を呼び出して渡しますファイルをダウンロードするには、上記のコードの $file_path の変更に注意してください。



声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。