ホームページ  >  記事  >  バックエンド開発  >  PHPダウンロードファイルコード(ie6ブラウザと互換性あり)

PHPダウンロードファイルコード(ie6ブラウザと互換性あり)

WBOY
WBOYオリジナル
2016-07-25 08:53:031067ブラウズ
  1. $filename = "./".$_REQUEST['name']; // $filename がダウンロードするファイルのフルパスである限り、特定のパス
  2. if ( !is_file($ filename)) {//ファイルが存在するかどうかを確認します。
  3. die('ダウンロードされたファイルは誰かと駆け落ちしたようです!');
  4. }
  5. $filepath = str_replace('\', '/', realpath ($filename)) ;
  6. $filesize = filesize($filepath);
  7. $filename = substr(strrchr('/'.$filepath, '/'), 1);
  8. $extension = strto lower(substr(strrchr($ filepath, '.' ), 1));
  9. // 解釈されず、拡張子、ファイル接尾辞の形式に基づいて MIME タイプを検索する場合を除き、これを使用します。
  10. $mime = array('application/octet-stream');
  11. header('Content -Type: '.$mime);
  12. header('Content-Disposition:attachment; filename="'.$filename.'"');
  13. header('Content-Transfer-Encoding: binary') ;
  14. header(' Content-Length: '.sprintf('%d', $filesize));
  15. header('Expires: 0');
  16. // IE のみのヘッダーをチェックし、IE 検出を不正行為します。
  17. if (isset ($_SERVER['HTTP_USER_AGENT']) &&((strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE') !== false)))
  18. {
  19. header('Cache-Control: must-revalidate, post-check =0, pre-check=0');
  20. header('Pragma: public');
  21. } // bbs.it-home.org
  22. else
  23. {
  24. header('Pragma: no-cache') ;
  25. }
  26. $handle = fopen($filepath, 'rb');
  27. fpassthru($handle);
  28. fclose($handle);
コードをコピー

手順: 上記のコードは、Feng 兄弟が海外の Web サイトから見つけたもので、個人的なテストに使用できます。

脚本編集者が収集して整理しました。制作してくれた原作者のFeng Geに感謝します~~~



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