Télécharger le fichier en php

Télécharger le fichier en php

Le téléchargement de fichiers est une tâche courante pour les applications Web. Différents types de fichiers sont nécessaires pour télécharger en fonction de l'application. Fichiers image, fichiers texte, fichiers PDF, fichiers XML, etc. peut être téléchargé en utilisant le script php. Un ou plusieurs fichiers peuvent être téléchargés par PHP. Il y a certaines directives PHP dans le php.ini Fichiers de configuration et fonctions intégrées PHP liées au téléchargement de fichiers qui est discutée dans ce tutoriel. HTML a un attribut particulier dans la balise de formulaire pour les tâches de téléchargement de fichiers, c'est-à-dire cntype.

Directives PHP pour le téléchargement de fichiers

Directive PHP But
file_uploads La valeur de cette directive doit être Sur Pour télécharger le fichier à l'aide du script PHP. La valeur par défaut de cette directive est Sur.
upload_tmp_dir Il est utilisé pour définir le répertoire temporaire où le fichier sera téléchargé.
upload_max_filesize Il est utilisé pour définir la taille maximale du fichier qui peut être téléchargé.
max_file_uploads Il est utilisé pour définir le nombre de fichiers qui peuvent être téléchargés.
post_max_size Il est utilisé pour définir la taille maximale des données de poste et la valeur de cette directive doit être supérieure à la valeur de la directive upload_max_filesize car le fichier est téléchargé par la demande de poste.
max_input_time Il est utilisé pour définir la durée maximale pour lire les données du fichier de téléchargement.
max_execution_time Il est utilisé pour définir la durée maximale en quelques secondes pour exécuter le script pour télécharger le fichier.
Memory_limit Il est utilisé pour définir la taille de mémoire maximale requise pour exécuter un script PHP pour télécharger le fichier.

Fonctions PHP pour le téléchargement de fichiers

Deux fonctions intégrées sont principalement utilisées dans PHP pour télécharger le fichier qui est mentionné ci-dessous.

UN. is_uploaded_file ()
Il est utilisé pour vérifier si le fichier est téléchargé via le post HTTP qui aide à empêcher une attaque de l'utilisateur malveillant.

B. move_uploaded_file ()
Il est utilisé pour déplacer le fichier téléchargé dans l'emplacement du serveur Web. Cette fonction reviendra vrai si le fichier est téléchargé et déplacé avec succès.

Variable de téléchargement de fichiers PHP

La variable Array $ _Files stocke toutes les informations liées au téléchargement d'un fichier dans le serveur. Il s'agit d'une variable superglobale du PHP qui est accessible dans le script. Il contient cinq types d'informations: nom de fichier, type, taille, nom de fichier temporaire et erreurs liées au téléchargement du fichier. Le but de chaque valeur du tableau $ _file a été mentionné ci-dessous. Supposons que le nom du nom de champ de téléchargement soit 'télécharger' ici.

UN. $ _Files ['upload'] ['name']
Il est utilisé pour obtenir le nom de fichier d'origine qui a été téléchargé par l'ordinateur du client.

B. $ _Files ['upload'] ['tmp_name']
Il est utilisé pour obtenir temporairement le nom de fichier temporaire qui a été stocké dans le serveur.

C. $ _Files ['upload'] ['type']
Il est utilisé pour obtenir le type MIME du fichier téléchargé.

D. $ _Files ['upload'] ['Size']
Il est utilisé pour obtenir la taille du fichier téléchargé en octets.

E. $ _Files ['upload'] ['error']
Il est utilisé pour obtenir le code d'erreur lié à la tâche de téléchargement. La variable peut contenir l'un des 7 types de valeurs mentionnés ci-dessous.

Code d'erreur Description
1- upload_err_ok Il génère lorsque le fichier télécharge avec succès.
2- upload_err_ini_size Il génère si la taille du fichier dépasse la valeur du upload_max_filesize directive définie dans le php.fichier ini.
3- upload_err_partial Il génère si la taille du fichier dépasse la valeur de la directive max_file_size définie dans le formulaire HTML.
4- upload_err_no_file Il génère si aucun fichier n'est téléchargé.
5- upload_err_no_tmp_dir Il génère si aucun répertoire temporaire n'est manquant.
6- upload_err_cant_write Il génère s'il n'y a pas d'autorisation d'écriture dans l'emplacement du serveur.
7- upload_err_extension Il génère si l'extension PHP arrête la tâche de téléchargement.

Fichier de téléchargement à l'aide de PHP

Différents exemples de téléchargement du fichier à l'aide du script PHP ont été affichés dans cette partie du tutoriel.

Exemple 1: Téléchargez tout type de fichier

Vous pouvez télécharger le fichier dans l'emplacement actuel à partir de l'endroit où le script PHP s'exécute ou dans un dossier particulier. Vous devez créer le dossier à l'emplacement du serveur pour télécharger un fichier dans un dossier particulier avant d'exécuter le script PHP. J'ai créé un dossier nommé 'téléchargements ' À l'intérieur du dossier de travail. Créez un fichier PHP avec le script suivant qui téléchargera un fichier de tout type à l'intérieur du 'téléchargements ' dossier. Un formulaire HTML avec un champ de type de fichier et un bouton de soumission ont été utilisés dans le script pour sélectionner le fichier dans l'ordinateur du client pour télécharger. Si 1 est généré comme un code d'erreur après le téléchargement du fichier, le fichier est téléchargé avec succès. Ensuite, le move_upload_file () La fonction a été utilisée pour déplacer le fichier téléchargé vers l'emplacement du serveur. Le message de réussite sera imprimé si le fichier est téléchargé dans l'emplacement du serveur avec succès; Sinon, un message d'erreur sera affiché.

// Vérifiez que tout fichier est sélectionné ou non
if (isset ($ _ fichiers ['uploadfile']))

// Vérifiez que toute erreur de téléchargement existe ou non
if ($ _files ['uploadfile'] ['error'] === upload_err_ok)

// Lire le nom de fichier d'origine
$ filename = $ _files ['uploadfile'] ['name'];
// Lire le nom de fichier temporaire
$ fileMppath = $ _files ['uploadfile'] ['tmp_name'];
// Définissez le chemin du fichier de téléchargement
$ filepath = dirname (__ file__).'/ télécharger /'.$ nom de fichier;
// Téléchargez le fichier à l'aide de move_upload_file ()
if (move_uploaded_file ($ fileteMppath, $ filepath))

// imprime le message de réussite
écho '

Le fichier est téléchargé avec succès.

';;

autre

// imprime le message d'erreur
écho '

Erreur Téléchargement du fichier.
'. $ _Files ['uploadfile'] ['error']. '

';;


autre

// imprime le message d'erreur
écho '

Erreur Téléchargement du fichier.
'. $ _Files ['uploadfile'] ['error']. '

';;


autre

?>




Fichier de téléchargement à l'aide de PHP



Choisir le dossier:





?>

Sortir
La sortie suivante apparaîtra si le script est exécuté à partir du serveur Web.

Clique sur le Parcourir bouton pour sélectionner le fichier pour le téléchargement et appuyez sur le bouton Télécharger pour télécharger le fichier dans le serveur.

Le message suivant apparaîtra si le fichier est téléchargé avec succès.

Exemple 2: Téléchargez un fichier du type et de la taille spécifiques

La manière de télécharger le fichier à l'aide d'un fichier HTML et d'un fichier PHP séparés a été affiché dans cet exemple. Créez un fichier HTML avec le script suivant pour afficher le formulaire de téléchargement du fichier.

formulaire de téléchargement.html





Téléchargement du fichier JPEG à l'aide de PHP



Choisir le dossier:



Créez un script PHP avec le script suivant qui téléchargera le fichier JPEG uniquement et la taille sera inférieure à 300000 octets. Le type de fichier et la taille ont été lus en utilisant $ _files ['uploadfile'] ['type'] et $ _files ['uploadfile'] ['Size'] Variables. Le message de réussite apparaîtra si le type de fichier et la taille téléchargés correspondent aux critères définis dans la condition «IF»; sinon un message d'erreur sera affiché.

upload2.php

// Vérifiez que tout fichier est sélectionné ou non
if (isset ($ _ fichiers ['uploadfile']))

// Vérifiez que toute erreur de téléchargement existe ou non
if ($ _files ['uploadfile'] ['error'] === upload_err_ok)

// Lire le nom de fichier d'origine
$ filename = $ _files ['uploadfile'] ['name'];
// Lire le nom de fichier temporaire
$ fileMppath = $ _files ['uploadfile'] ['tmp_name'];
// Lire la taille du fichier
$ fileSize = $ _files ['uploadfile'] ['size'];
// Lire le type de fichier
$ fileType = $ _files ['uploadfile'] ['type'];
// Vérifiez le type de fichier et la taille du fichier
if ($ fileType == 'Image / Jpeg' && $ file size < 300000)

// Définissez le chemin du fichier de téléchargement
$ filepath = dirname (__ file__).'/ télécharger /'.$ nom de fichier;
// Téléchargez le fichier à l'aide de move_upload_file ()
if (move_uploaded_file ($ fileteMppath, $ filepath))

// imprime le message de réussite
écho '

Le fichier est téléchargé avec succès.

';;

autre

// imprime le message d'erreur
écho '

Erreur Téléchargement du fichier.
'. $ _Files ['uploadfile'] ['error']. '

';;


autre
// imprime le message d'erreur
écho '

Le type ou la taille du fichier n'est pas pris en charge.

';;

autre

// imprime le message d'erreur
écho '

Erreur Téléchargement du fichier.
'. $ _Files ['uploadfile'] ['error']. '

';;

inclure ('téléchargement.html ');

autre
inclure ('téléchargement.html ');
?>

Sortir
Dans la sortie suivante, le fleur.PNG Le fichier a été sélectionné qui n'est pas un fichier JPEG:

La sortie suivante apparaîtra après avoir appuyé sur le Télécharger bouton:

Ici, la fleur1.Le fichier JPEG a été sélectionné qui est un fichier jpeg.

Maintenant, la sortie suivante apparaîtra après avoir appuyé sur le Télécharger bouton:

Exemple 3: Vérifiez le fichier avant le téléchargement

Créer un fichier PHP avec le script suivant qui utilise le is_uploaded_file () Fonction Pour vérifier si le fichier est téléchargé via le post HTTP avant de déplacer le fichier vers le serveur. Le script téléchargera le fichier texte uniquement et imprimera le contenu du fichier texte après avoir téléchargé le fichier avec succès.

// Vérifiez si un fichier est sélectionné ou non
if (isset ($ _ fichiers ['uploadfile']))

// Lire le nom de fichier d'origine
$ filename = $ _files ['uploadfile'] ['name'];
// Lire le nom de fichier temporaire
$ fileMppath = $ _files ['uploadfile'] ['tmp_name'];
// Lire le type de fichier
$ fileType = $ _files ['uploadfile'] ['type'];
// Définissez le chemin du fichier de téléchargement
$ filepath = dirname (__ file__).'/ télécharger /'.$ nom de fichier;
// Vérifiez le type de fichier
if ($ filetype == 'text / plain')

// Vérifiez que toute erreur de téléchargement existe ou non
if ($ _files ['uploadfile'] ['error'] === upload_err_ok)

if (is_uploaded_file ($ fileteMppath))
// Téléchargez le fichier à l'aide de move_upload_file ()
if (move_uploaded_file ($ fileteMppath, $ filepath))

// imprime le message de réussite
Echo $ nom de fichier ."est téléchargé avec succès.
"
Echo "Le contenu du fichier:
"
ReadFile ($ filepath);

autre

Echo 'Erreur de téléchargement du fichier.
'. $ _Files ['uploadfile'] ['error'];


autre
Echo "Le fichier n'est pas téléchargé."



autre
Echo "Le fichier n'est pas un fichier texte."

autre

?>




Fichier de téléchargement à l'aide de PHP



Choisir le dossier:




Sortir
Dans la sortie suivante, un fichier texte a été sélectionné pour le téléchargement:

Le contenu du fichier a été affiché dans la sortie après avoir téléchargé le fichier avec succès.

Conclusion

La tâche de téléchargement de fichiers est une exigence commune pour toute application Web. Les utilisations de la variable de téléchargement de fichiers et les fonctions intégrées de PHP ont été présentées dans ce tutoriel en utilisant plusieurs exemples de téléchargement de fichiers. Si vous le souhaitez, vous pouvez télécharger plus d'un fichier à la fois en utilisant le script PHP qui est couvert dans ce tutoriel. Vous pouvez également télécharger un dossier contenant plusieurs fichiers en utilisant le script PHP.