ホームページ  >  記事  >  バックエンド開発  >  phpファイルダウンロードのサンプルコード(中国語ファイル名の文字化け防止)

phpファイルダウンロードのサンプルコード(中国語ファイル名の文字化け防止)

WBOY
WBOYオリジナル
2016-07-25 08:55:411009ブラウズ
  1. /**
  2. * PHP ファイル ダウンロード コード、文字化けなしの中国語
  3. * by bbs.it-home.org
  4. */
  5. $file = "/tmp/中文名.tar.gz";
  6. $filename = Basename($file);
  7. header(" Content-type: application/octet-stream");
  8. //中国語ファイル名の処理
  9. $ua = $_SERVER["HTTP_USER_AGENT"];
  10. $encoded_filename = urlencode($filename);
  11. $encoded_filename = str_replace("+ ", "%20", $encoded_filename);
  12. if (preg_match("/MSIE/", $ua)) {
  13. header('Content-Disposition:attachment; filename="' . $encoded_filename . '"');
  14. } else if (preg_match("/Firefox/", $ua)) {
  15. header("Content-Disposition:attachment; filename*="utf8''" . $filename . '"');
  16. } else {
  17. header('Content-Disposition:attachment; filename="' . $filename . '"');
  18. }
  19. header('Content-Disposition:attachment; filename="' . $filename . '"');
  20. header ("Content-Length: ".filesize($file));
  21. readfile($file);
コードをコピー

さらに、興味のある友人は、Apache サーバーのモジュール mod_xsendfile モジュールを学習して、使用できます。 PHP によるファイル送信の効率が向上します。



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