Heim > Backend-Entwicklung > PHP-Tutorial > Lösung für den verstümmelten chinesischen Namen beim Herunterladen von PHP-Anhängen

Lösung für den verstümmelten chinesischen Namen beim Herunterladen von PHP-Anhängen

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Freigeben: 2016-07-29 09:10:10
Original
850 Leute haben es durchsucht

Das Beispiel in diesem Artikel beschreibt die Lösung für den verstümmelten chinesischen Namen des PHP-Anhang-Downloads. Geben Sie es als Referenz an alle weiter. Die Details lauten wie folgt:

Wenn in PHP der Name der herunterzuladenden Datei chinesisch ist, wird der Dateititel verstümmelt.

Zu diesem Zeitpunkt müssen Sie den Titel codieren, was einen erweiterten URL-Code bedeutet, und ihn dann in den Header einfügen. Dann ist das Problem gelöst.

$filename = urlencode("下载文档");
header ( "Content-disposition: attachment; filename=$filename.xls" );

Nach dem Login kopieren

Online heißt es, dass in der Definition von RFC2231 die Inhaltsdisposition der mehrsprachigen Kodierung wie folgt definiert werden sollte:

Code kopierenDer Code lautet wie folgt:

Content-Disposition: filename*="utf8''test.html"


Das heißt:

Nach Dateiname Dem Gleichheitszeichen muss ein * vorangestellt werden
Der Wert von Dateiname ist in drei Segmente mit einfachen Anführungszeichen unterteilt: Zeichensatz (utf8), Sprache (leer) und URL-codierter Dateiname .

Zu diesem Zeitpunkt sollte der Dateiname also URL-codiertkonvertiert werden. Dies kann einfach mit dem PHP-URL-Code

$ua = _SERVER["HTTP_USER_AGENT"];
$filename = "中文 文件名.txt";
$encoded_filename = urlencode($filename);
$encoded_filename = str_replace("+", "%20", $encoded_filename);
header('Content-Type: application/octet-stream');
if (preg_match("/MSIE/", $ua)) {
  header('Content-Disposition: attachment; filename="' . $encoded_filename . '"');
} else if (preg_match("/Firefox/", $ua)) {
  header('Content-Disposition: attachment; filename*="utf8\'\'' . $filename . '"');
} else {
  header('Content-Disposition: attachment; filename="' . $filename . '"');
}

Nach dem Login kopieren
Ich hoffe, dass dieser Artikel für alle, die sich mit PHP-Programmierung befassen, hilfreich sein wird.

Das Obige stellt die Lösung für den verstümmelten chinesischen Namen des PHP-Anhang-Downloads vor, einschließlich der URL-Codierung. Ich hoffe, dass es für Freunde hilfreich sein wird, die sich für PHP-Tutorials interessieren.

Verwandte Etiketten:
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage