Téléchargement du fichier PHP Nom du fichier chinois tronqué

墨辰丷
Libérer: 2023-03-29 21:00:02
original
4454 Les gens l'ont consulté

Cet article présente principalement le nom de fichier chinois tronqué du téléchargement du fichier PHP. Les amis intéressés peuvent s'y référer. J'espère qu'il sera utile à tout le monde.

En PHP, si le nom du fichier à télécharger est chinois, le titre du fichier sera tronqué.

À ce stade, vous devez encoder le titre, ce qui signifie un code urlen avancé, puis mettre l'en-tête, et le problème est alors résolu.

$filename = urlencode("下载文档");
header ( "Content-disposition: attachment; filename=$filename.xls" );
Copier après la connexion

Il est dit en ligne que dans la définition de la RFC2231, l'encodage multilingue Content-Disposition doit être défini comme ceci :

Le code est le suivant :

Content-Disposition: attachment; filename*="utf8''%E6%B5%8B%E8%AF%95.html"
Copier après la connexion

C'est-à-dire :

Avant le signe égal après le nom de fichier, ajoutez *
La valeur du nom de fichier est divisée en trois segments avec des guillemets simples, qui sont un jeu de caractères (utf8), la langue (vide) et nom de fichier codé en urlen.

Donc, à ce stade, le nom du fichier doit être converti en codage d'URL. Cela peut être facilement fait en utilisant le code urlen de php.

$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 . '"');
}
Copier après la connexion

Résumé : ce qui précède est l'intégralité du contenu de. cet article. J'espère qu'il sera utile à l'étude de chacun.

Recommandations associées :

Explication détaillée des principes et exemples de fonctionnement en chaîne en PHP

Comment utiliser PHP pour accéder à l'instantané d'Alipay fonction de paiement

Méthode d'implémentation PHP de manipulation de la base de données mysqli

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal