Maison >développement back-end >tutoriel php >Méthode PHP pour accepter les fichiers et obtenir le nom du suffixe

Méthode PHP pour accepter les fichiers et obtenir le nom du suffixe

墨辰丷
墨辰丷original
2018-06-07 17:29:302335parcourir

Cet article présente principalement la méthode d'utilisation de PHP pour accepter les fichiers et obtenir leurs noms de suffixes. L'auteur se concentre sur l'utilisation de la variable globale $_FILES. Les amis dans le besoin peuvent se référer au

Formulaire HTMLUtilisez un formulaire HTML pour simuler une demande de publication de téléchargement de fichier. Le code est le suivant :

  <!DOCTYPE html> 
  <html> 
  <head> 
  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
  <title>File Upload</title> 
  </head> 
  <body> 
   
  <form enctype="multipart/form-data" action="test.php" method="POST"> 
    <input type="hidden" name="MAX_FILE_SIZE" value="30000" /> 
    Send this File:<input name="userfile" type="file"/> 
    <input type="submit" value="Send File" /> 
  </form> 
   
   
  </body> 
  </html>

Remarque :

Assurez-vous que l'attribut du formulaire de téléchargement de fichier est. enctype="multipart/ form-data", sinon le fichier ne peut pas être téléchargé

PHP
Tout d'abord, vous devez expliquer la variable globale $_FILES de PHP. Ce tableau contient toutes les informations sur le fichier téléchargé.

  • $_FILE['userfile']['name'] : Le nom d'origine du fichier de la machine client

  • $_FILE['userfile ']['type'] : Type MIME du fichier

  • $_FILE['userfile']['size'] : Taille du fichier téléchargé

  • $_FILE['userfile']['tmpname'] : Le nom du fichier temporaire stocké sur le serveur après le téléchargement du fichier

  • $_FILE['userfile'][' error'] : et le fichier téléchargé Code d'erreur

Idées
1. Générez une chaîne aléatoire de 40 chiffres comme nom de fichier
2. à différents fichiers selon qu'il s'agit d'une image ou d'une voix
3. La vérification de la taille et du type de fichier n'est pas effectuée pour le moment

  function processFile($files, $type) { 
    $uploadName = null; 
    foreach ($files as $name => $value) { 
      $originalName = $value[&#39;name&#39;]; 
      $arr = explode(".", $originalName); 
      $postfix = $arr[count($arr) - 1]; 
      $tmpPath = $value[&#39;tmp_name&#39;]; 
      $tmpType = $value[&#39;type&#39;]; 
      $tmpSize = $value[&#39;size&#39;]; 
    } 
     
    $newname = EhlStaticFunction::generateRandomStr(40).".".$postfix; 
     
    switch ($type) { 
      case 1 :  
        // 处理声音文件 
        $destination = VIDEOUPLOADDIR.$newname; 
        break; 
      case 2 : 
        // 处理图像文件 
        $destination = IMAGEUPLOADDIR.$newname; 
        break; 
    } 
     
    move_uploaded_file($tmpPath, $destination); 
  }
Pour obtenir le nom de suffixe du fichier téléchargé. fichier, vous pouvez utiliser le code suivant :

HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  <title></title>
  <meta name="keywords" content=" keywords" />
  <meta name="description" content="description" />
</head>
<body>
  <form method="post" action="" enctype="multipart/form-data">
  <input type="file" name="upfile" size="20" />
  <input type="submit" name="submit" value="submit" />
  </form>
</body>
</html>

PHP

<?PHP
  if(isset($_POST[&#39;submit&#39;])) {
    $string = strrev($_FILES[&#39;upfile&#39;][&#39;name&#39;]);
    $array = explode(&#39;.&#39;,$string);
    echo $array[0];
  }  
?>
Exemple de résultats :

20158591330708.jpg (423×167)

Résumé : C'est tout pour cet article. L'intégralité du contenu, j'espère qu'il sera utile à l'étude de chacun.

Recommandations associées :

PHP utilise preg_split et burst pour implémenter la méthode de fractionnement de la zone de texte pour stocker le contenu

Implémentation PHP Méthodes de verrouillage et de déverrouillage du verrouillage des fichiers

Méthode PHP pour implémenter la fonction de sortie automatique des utilisateurs qui n'ont pas opéré pendant 30 minutes sur la base des cookies

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