Home > Backend Development > PHP Tutorial > How to use PHP to accept files and get their suffix names, _PHP tutorial

How to use PHP to accept files and get their suffix names, _PHP tutorial

WBOY
Release: 2016-07-13 09:45:06
Original
1021 people have browsed it

Use PHP to accept files and get their suffix names,

HTML form
Use an HTML form to simulate a post request for file upload. The code is as follows:

  <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
  <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> 

Copy after login


Note:

Make sure the attribute of the file upload form is enctype="multipart/form-data", otherwise the file cannot be uploaded


PHP
First, we need to explain PHP’s global variable $_FILES. This array contains all uploaded file information

  • $_FILE['userfile']['name'] : The original name of the client machine file
  • $_FILE['userfile']['type'] : MIME type of the file
  • $_FILE['userfile']['size'] : Uploaded file size
  • $_FILE['userfile']['tmpname'] : The temporary file name stored on the server after the file is uploaded
  • $_FILE['userfile']['error'] : and the error code for uploading the file


Ideas
1. Generate a 40-digit random string as the file name
2. Transfer the file to different file locations depending on whether it is a picture or a voice
3. No verification of file size and file type will be performed for the time being

  function processFile($files, $type) { 
    $uploadName = null; 
    foreach ($files as $name => $value) { 
      $originalName = $value['name']; 
      $arr = explode(".", $originalName); 
      $postfix = $arr[count($arr) - 1]; 
      $tmpPath = $value['tmp_name']; 
      $tmpType = $value['type']; 
      $tmpSize = $value['size']; 
    } 
     
    $newname = EhlStaticFunction::generateRandomStr(40).".".$postfix; 
     
    switch ($type) { 
      case 1 :  
        // 处理声音文件 
        $destination = VIDEOUPLOADDIR.$newname; 
        break; 
      case 2 : 
        // 处理图像文件 
        $destination = IMAGEUPLOADDIR.$newname; 
        break; 
    } 
     
    move_uploaded_file($tmpPath, $destination); 
  } 
Copy after login

To get the suffix of the uploaded file, you can use the following code:

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>

Copy after login


PHP

<&#63;PHP
  if(isset($_POST['submit'])) {
    $string = strrev($_FILES['upfile']['name']);
    $array = explode('.',$string);
    echo $array[0];
  }  
&#63;>

Copy after login

Example results:

20158591330708.jpg (423×167)

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/1043240.htmlTechArticleUse PHP to accept files and get their suffix names. The HTML form uses the HTML form to simulate a file upload. Post request, the code is as follows: !DOCTYPE html PUBLIC "-//W3C//DTD H...
Related labels:
php
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template