Heim Backend-Entwicklung PHP-Tutorial 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;
}
Nach dem Login kopieren
?
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße Artikel -Tags

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Was bedeutet Linux-Header? Was bedeutet Linux-Header? Jul 18, 2023 pm 03:34 PM

Was bedeutet Linux-Header?

Wie übergibt SpringBoot Parameter im Header durch Feign-Aufrufe? Wie übergibt SpringBoot Parameter im Header durch Feign-Aufrufe? May 16, 2023 pm 08:38 PM

Wie übergibt SpringBoot Parameter im Header durch Feign-Aufrufe?

Was ist der Unterschied zwischen HTML5-Tag-Head und Header? Was ist der Unterschied zwischen HTML5-Tag-Head und Header? Jan 17, 2022 am 11:10 AM

Was ist der Unterschied zwischen HTML5-Tag-Head und Header?

So verwenden Sie die PHP-Header()-Methode zum Anpassen von Webseiten So verwenden Sie die PHP-Header()-Methode zum Anpassen von Webseiten Mar 28, 2023 pm 01:54 PM

So verwenden Sie die PHP-Header()-Methode zum Anpassen von Webseiten

So springen Sie in den PHP-Header So springen Sie in den PHP-Header Dec 02, 2022 am 09:14 AM

So springen Sie in den PHP-Header

Wie Nginx über die Kennung im Header verteilt Wie Nginx über die Kennung im Header verteilt May 11, 2023 pm 04:01 PM

Wie Nginx über die Kennung im Header verteilt

Vollständige Liste der PHP-Datei-Download-Funktionen: Analyse von Datei-Download-Beispielen für Readfile, Header, Content-Disposition und andere Funktionen Vollständige Liste der PHP-Datei-Download-Funktionen: Analyse von Datei-Download-Beispielen für Readfile, Header, Content-Disposition und andere Funktionen Nov 18, 2023 pm 03:26 PM

Vollständige Liste der PHP-Datei-Download-Funktionen: Analyse von Datei-Download-Beispielen für Readfile, Header, Content-Disposition und andere Funktionen

So definieren Sie Header-Header-Informationen über Nginx So definieren Sie Header-Header-Informationen über Nginx May 16, 2023 am 11:52 AM

So definieren Sie Header-Header-Informationen über Nginx

See all articles