ホームページ バックエンド開発 PHPチュートリアル PHP は、ブラウザによってアップロードされたファイルの中国語名の文字化けに関連する問題を解決します - ほとんどのブラウザと互換性があります

PHP は、ブラウザによってアップロードされたファイルの中国語名の文字化けに関連する問題を解決します - ほとんどのブラウザと互換性があります

Jun 13, 2016 pm 01:13 PM
charset content header

PHP は、ブラウザのダウンロード ファイルで中国語名が文字化けする問題を解決します - ほとんどのブラウザと互換性があります

function sendFile($serverPath, $filename,$charset = 'UTF-8', $mimeType = 'application/octet-stream')
{
	// 文件名乱码问题
	if (preg_match("/MSIE/", $_SERVER["HTTP_USER_AGENT"])) {
		$filename = urlencode($filename);
		$filename = str_replace("+", "%20", $filename);// 替换空格
		$attachmentHeader = "Content-Disposition: attachment; filename=\"{$filename}\"; charset={$charset}";
	} else if (preg_match("/Firefox/", $_SERVER["HTTP_USER_AGENT"])) {			
		$attachmentHeader = 'Content-Disposition: attachment; filename*="utf8\'\'' . $filename. '"' ;
	} else {
		$attachmentHeader = "Content-Disposition: attachment; filename=\"{$filename}\"; charset={$charset}";
	}
	
	
	$filesize = filesize($serverPath);

	//header("Pragma: public");   header("Expires: 0");
	header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
	header("Content-Type: application/force-download");
	header("Content-Type: {$mimeType}");

	header($attachmentHeader);
	header('Pragma: cache');
	header('Cache-Control: public, must-revalidate, max-age=0');
	header("Content-Length: {$filesize}");
	readfile($serverPath);
	exit;
}
ログイン後にコピー
?
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットな記事タグ

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Linuxヘッダーとはどういう意味ですか? Linuxヘッダーとはどういう意味ですか? Jul 18, 2023 pm 03:34 PM

Linuxヘッダーとはどういう意味ですか?

SpringBoot はどのように Feign 呼び出しを通じてヘッダー内のパラメーターを渡しますか? SpringBoot はどのように Feign 呼び出しを通じてヘッダー内のパラメーターを渡しますか? May 16, 2023 pm 08:38 PM

SpringBoot はどのように Feign 呼び出しを通じてヘッダー内のパラメーターを渡しますか?

html5タグのヘッドとヘッダーの違いは何ですか? html5タグのヘッドとヘッダーの違いは何ですか? Jan 17, 2022 am 11:10 AM

html5タグのヘッドとヘッダーの違いは何ですか?

PHP header() メソッドを使用して Web ページを調整する方法 PHP header() メソッドを使用して Web ページを調整する方法 Mar 28, 2023 pm 01:54 PM

PHP header() メソッドを使用して Web ページを調整する方法

PHPヘッダーにジャンプする方法 PHPヘッダーにジャンプする方法 Dec 02, 2022 am 09:14 AM

PHPヘッダーにジャンプする方法

Nginx がヘッダー内の ID を介して配布する方法 Nginx がヘッダー内の ID を介して配布する方法 May 11, 2023 pm 04:01 PM

Nginx がヘッダー内の ID を介して配布する方法

PHP ファイル ダウンロード関数の完全なリスト: readfile、ヘッダー、Content-Disposition およびその他の関数のファイル ダウンロード例の分析 PHP ファイル ダウンロード関数の完全なリスト: readfile、ヘッダー、Content-Disposition およびその他の関数のファイル ダウンロード例の分析 Nov 18, 2023 pm 03:26 PM

PHP ファイル ダウンロード関数の完全なリスト: readfile、ヘッダー、Content-Disposition およびその他の関数のファイル ダウンロード例の分析

Nginx を通じて Header ヘッダー情報を定義する方法 Nginx を通じて Header ヘッダー情報を定義する方法 May 16, 2023 am 11:52 AM

Nginx を通じて Header ヘッダー情報を定義する方法

See all articles