Maison  >  Article  >  développement back-end  >  Quelles sont les opérations courantes de téléchargement et de téléchargement de fichiers dans la programmation PHP ?

Quelles sont les opérations courantes de téléchargement et de téléchargement de fichiers dans la programmation PHP ?

王林
王林original
2023-06-12 09:49:401471parcourir

Avec la maturité progressive de la technologie Internet et des applications de sites Web, le chargement et le téléchargement de fichiers sont devenus des fonctions essentielles dans le développement de sites Web. En tant que langage de programmation largement utilisé dans le développement de réseaux, PHP propose une série d'opérations de téléchargement et de téléchargement de fichiers. Cet article présentera les opérations courantes de téléchargement et de téléchargement de fichiers dans la programmation PHP.

1. Téléchargement de fichiers

Le téléchargement de fichiers est le processus de téléchargement de fichiers sur l'ordinateur local vers le serveur Web. PHP offre diverses façons d'implémenter des opérations de téléchargement de fichiers, notamment le téléchargement via des formulaires HTML, le téléchargement asynchrone à l'aide d'Ajax, le téléchargement de fichiers via FTP, etc. Parmi elles, la méthode la plus courante consiste à télécharger via des formulaires HTML.

  1. Télécharger des fichiers via des formulaires HTML

L'utilisation de 3525558f8f338d4ea90ebf22e5cde2bc dans les formulaires HTML peut implémenter la fonction de téléchargement de fichiers. Dans le programme PHP back-end, vous pouvez obtenir des informations pertinentes sur le fichier téléchargé, telles que le nom du fichier, le type, le nom du fichier temporaire, etc., grâce aux informations du tableau $_FILES. Voici un exemple de code pour le téléchargement de fichiers :

<form action="upload.php" method="post" enctype="multipart/form-data">
  <input type="file" name="file">
  <input type="submit" value="上传">
</form>

<?php
if($_SERVER["REQUEST_METHOD"] == "POST"){
  if($_FILES["file"]["error"] > 0){
    echo "上传发生错误:" . $_FILES["file"]["error"];
  }else{
    echo "文件名:" . $_FILES["file"]["name"] . "<br>";
    echo "文件类型:" . $_FILES["file"]["type"] . "<br>";
    echo "文件大小:" . ($_FILES["file"]["size"] / 1024) . " KB<br>";
    echo "临时文件名:" . $_FILES["file"]["tmp_name"] . "<br>";
  }
}
?>
  1. Limiter les types et les tailles de fichiers téléchargés

Afin d'empêcher les utilisateurs de télécharger des types de fichiers dangereux et des fichiers trop volumineux, nous devons généralement limiter le type et la taille des fichiers téléchargés. En PHP, des restrictions peuvent être imposées en fonction du type et de la taille des fichiers téléchargés. Voici un exemple de code qui limite le type et la taille des fichiers téléchargés :

$allowed_types = array("image/jpeg", "image/png", "application/pdf");
$max_size = 1024 * 1024; // 1MB

if(in_array($_FILES["file"]["type"], $allowed_types) && $_FILES["file"]["size"] < $max_size){
  // 执行上传操作
}else{
  echo "上传失败!文件类型不允许或文件大小超过限制!";
}

2. Téléchargement de fichiers

Le téléchargement de fichiers est le processus de téléchargement de fichiers depuis le serveur Web vers l'ordinateur local. En PHP, les méthodes de téléchargement de fichiers couramment utilisées incluent la lecture du contenu du fichier, puis sa sortie, l'envoi d'un en-tête de réponse via header() et l'utilisation de la fonction readfile() pour lire et sortir le fichier.

  1. Sortie après lecture du contenu du fichier

En PHP, vous pouvez lire le contenu du fichier via des fonctions de lecture de fichier (telles que fread(), fgets(), etc.), puis le transmettre au navigateur via echo. Ce qui suit est un exemple de code obtenu après avoir lu le contenu du fichier :

$file_path = "path/to/file.pdf";
$file_size = filesize($file_path);

header("Content-Type: application/octet-stream");
header("Content-Disposition: attachment; filename=file.pdf");
header("Content-Length: " . $file_size);

$handle = fopen($file_path, "r");
if($handle){
  while(!feof($handle)){
    echo fread($handle, 1024);
  }
  fclose($handle);
}
  1. Envoyer l'en-tête de réponse via header()

En PHP, vous pouvez également définir les informations d'en-tête de réponse via la fonction header() pour permettre au navigateur de télécharger le fichier. Voici un exemple de code pour envoyer des en-têtes de réponse via header() :

$file_path = "path/to/file.pdf";

header("Content-Type: application/octet-stream");
header("Content-Disposition: attachment; filename=file.pdf");
header("Content-Length: " . filesize($file_path));

readfile($file_path);
  1. Utilisez la fonction readfile() pour lire et afficher le fichier

En PHP, vous pouvez également utiliser directement la fonction readfile() pour lire le contenu du fichier et sortie vers le navigateur. Voici un exemple de code qui utilise la fonction readfile() pour lire et générer un fichier :

$file_path = "path/to/file.pdf";

header("Content-Type: application/octet-stream");
header("Content-Disposition: attachment; filename=file.pdf");
header("Content-Length: " . filesize($file_path));

readfile($file_path);

Résumé

Le téléchargement et le téléchargement de fichiers sont l'une des fonctions courantes dans le développement Web. Avec le support de PHP, nous pouvons facilement implémenter. ces fonctions. Lors de l'écriture du code de téléchargement et de téléchargement de fichiers, vous devez faire attention au type de fichier, à sa taille, à sa sécurité et à d'autres problèmes pour garantir que les utilisateurs bénéficient d'une meilleure expérience.

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