Maison  >  Article  >  développement back-end  >  Explication détaillée de l'exemple de code de téléchargement de fichier PHP

Explication détaillée de l'exemple de code de téléchargement de fichier PHP

墨辰丷
墨辰丷original
2018-06-01 15:20:321662parcourir

Cet article présente principalement en détail l'exemple de code de téléchargement de fichiers PHP, qui a une certaine valeur de référence. Les amis intéressés peuvent s'y référer

La fonction de téléchargement de fichiers est essentiellement destinée à un site Web. Jetons un coup d'œil à la façon dont PHP implémente le téléchargement de fichiers.

Type non contrôlé

Le type non contrôlé mentionné ici fait référence aux types où les ressources contrôlées par aucun code PHP peuvent être téléchargées directement. De manière générale, les fichiers compressés .rar ; les fichiers audio et vidéo : ..avi, etc. peuvent également être téléchargés directement. Mais l'audio et le mp4 seront analysés et lus directement par le navigateur.
Comme indiqué ci-dessous :

fichier .avi

Explication détaillée de lexemple de code de téléchargement de fichier PHP

. Les fichiers rar

Explication détaillée de lexemple de code de téléchargement de fichier PHP

.mp4, MP3, images , etc. seront analysés directement

Explication détaillée de lexemple de code de téléchargement de fichier PHP

Code principal

Il est très simple d'utiliser du code php pour contrôler le téléchargement de fichiers. Nous pouvons accomplir un travail aussi complexe avec très peu de code.

Type

// 使用basename函数可以获得文件的名称而不是路径信息,保护了服务器的目录安全性
header("content-disposition:attachment;filename=".basename($filename));

Longueur

en-tête("content-length:".filesize($ filename));

Implémenter la fonction

<?php

$filename = $_GET[&#39;filename&#39;];
// 使用basename函数可以获得文件的名称而不是路径信息,保护了服务器的目录安全性
header("content-disposition:attachment;filename="$filename);
header("content-length:".filesize($filename));
readfile($filename);


?>

Optimiser

ci-dessus Lors de la spécification du nom du fichier, nous n'utilisons pas de fonction appelée basename, donc lorsque nous téléchargerons le fichier, il sera accompagné du chemin complet du fichier sur le serveur.

Remarque : Le nom du fichier téléchargé ne doit pas inclure son chemin complet sur le serveur, sinon cela pourrait entraîner une fuite de certaines ressources. Même s’il existe un moyen de contrôler l’accès aux ressources, il est toujours bon d’utiliser la fonction basename.

Nom du fichier de téléchargement original

Explication détaillée de lexemple de code de téléchargement de fichier PHP

Nom de téléchargement du fichier optimisé

Explication détaillée de lexemple de code de téléchargement de fichier PHP

Résumé

Il est vraiment pratique de télécharger et d'utiliser des fichiers PHP par rapport à l'implémentation Java. À l’intérieur du fichier téléchargé, de nombreuses informations nous sont fournies. Grâce à ces informations encapsulées, nous pouvons mettre en œuvre un système de téléchargement de fichiers plus élégant.

Résumé : Ce qui précède représente l'intégralité du contenu de cet article, j'espère qu'il sera utile à l'étude de chacun.

Recommandations associées :

phpIntroduction détaillée aux opérateurs et expressions

php +js implémente l'annotation multipoint sur la carte Baidu

Explication détaillée de plusieurs façons dont PHP gère les mots de passe

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!

Déclaration:
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