Maison > Article > développement back-end > Soumettre des fichiers en PHP
PHP est un langage de script côté serveur qui peut être utilisé pour traiter les données de formulaire, générer des pages dynamiques, etc. Un scénario d'application courant consiste à télécharger des fichiers via des formulaires. Cet article présentera la fonction de téléchargement de fichiers en PHP, y compris le traitement des formulaires de téléchargement, le stockage des fichiers téléchargés, la limitation du type et de la taille des fichiers téléchargés, etc.
1. Traitement des formulaires de téléchargement
En HTML, vous pouvez créer un formulaire via la balise form et utiliser l'attribut type="file" dans la balise input pour autoriser le téléchargement de fichiers. En PHP, vous pouvez utiliser la variable globale $_FILES pour obtenir des informations sur le fichier téléchargé.
Supposons que notre formulaire contienne une balise d'entrée pour télécharger un fichier et un bouton d'envoi :
2c9ccec1c7569b190d7f2fbc9a3811c4
e1afba264bef770f92ac9a2c4a571c26
6caecc565d8b7cee6b45edb6d3f8121d
f5a47148e367a6035fd7a2faa965022e
Vous devez faites attention ici à plusieurs endroits : L'attribut
Ensuite, gérez la demande de téléchargement de fichier dans le fichier upload.php.
2. Stockage des fichiers téléchargés
Tout d'abord, vous devez déterminer si le fichier téléchargé existe. S'il existe, vous pouvez obtenir les informations pertinentes sur le fichier téléchargé via le tableau $_FILES :
if(isset($_FILES). ["fileToUpload"])) {
$file_name = $_FILES["fileToUpload"]["name"]; $file_tmp = $_FILES["fileToUpload"]["tmp_name"]; $file_size = $_FILES["fileToUpload"]["size"];
}
Parmi eux, le nom du fichier peut être obtenu via l'attribut $name, la taille du fichier peut être obtenue via l'attribut $size et le chemin du fichier temporaire peut être obtenu via l'attribut $tmp_name.
Ensuite, vous devez déplacer le fichier téléchargé vers le dossier cible. Utilisez la fonction move_uploaded_file() ici :
$target_dir = "uploads/";
$target_file = $target_dir . move_uploaded_file ($file_tmp, $target_file)) {
echo "The file ". basename($file_name). " has been uploaded.";} else{
echo "Sorry, there was an error uploading your file.";}Dans le code ci-dessus, $target_dir est le répertoire de stockage du fichier téléchargé, où la fonction basename() est utilisée pour obtenir le fichier nom. Le déplacement de fichiers utilise la fonction move_uploaded_file(), où le premier paramètre est le chemin temporaire du fichier et le deuxième paramètre est le chemin cible. Si le fichier est déplacé avec succès, un message de téléchargement réussi est renvoyé à l'utilisateur ; sinon, un message d'échec de téléchargement est renvoyé. 3. Limiter le type et la taille des fichiers téléchargésAfin de garantir la sécurité et les performances du système de téléchargement, nous devons limiter les fichiers téléchargés. Cela inclut à la fois le type et la taille du fichier.
$file_type = strtolower(pathinfo($file_name,PATHINFO_EXTENSION));
if(in_array($file_type, $allowed_types) ){
// 合法文件类型} else{
echo "Sorry, only JPG, JPEG, PNG, GIF files are allowed.";}Dans le code ci-dessus, la fonction pathinfo() est utilisée pour obtenir le nom du suffixe du fichier, la fonction strtolower() le convertit en caractères minuscules et la fonction in_array() est utilisé pour déterminer s'il fait partie du tableau des types de fichiers autorisés à être téléchargés.
upload_max_filesize=2M
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!