Home  >  Article  >  Backend Development  >  The use and precautions of $_FILES in PHP_PHP tutorial

The use and precautions of $_FILES in PHP_PHP tutorial

WBOY
WBOYOriginal
2016-07-13 17:14:13981browse

$_FILES: Variables submitted to the script via HTTP POST file upload, similar to the old array $HTTP_POST_FILES array (still valid, but deprecated for use) For more information, please refer to POST method upload

The contents of the $_FILES array are as follows:

$_FILES['myFile']['name'] The original name of the client file     

$_FILES['myFile']['type'] The MIME type of the file, which requires the browser to provide support for this information, such as "image/gif"

$_FILES['myFile']['size'] The size of the uploaded file, in bytes   

$_FILES['myFile']['tmp_name'] The temporary file name stored on the server after the file is uploaded. It is usually the system default. It can be specified in upload_tmp_dir of php.ini, but the setting using the putenv() function is Not working

$_FILES['myFile']['error'] Error codes related to the file upload, ['error'] was added in PHP 4.2.0 version, the following is its description: (They are in PHP3 After .0, it becomes a constant)

UPLOAD_ERR_OK value: 0; no error occurred, the file was uploaded successfully


UPLOAD_ERR_INI_SIZE value: 1; The uploaded file exceeds the value limited by the upload_max_filesize option in php.ini

UPLOAD_ERR_FORM_SIZE value: 2; The size of the uploaded file exceeds the value specified by the MAX_FILE_SIZE option in the HTML form.

UPLOAD_ERR_PARTIAL value: 3; Only part of the file was uploaded

UPLOAD_ERR_NO_FILE value: 4; no file is uploaded, value: 5; the uploaded file size is 0

Note:

1. After the file is uploaded, it is stored in the temporary directory by default. At this time, it must be deleted from the temporary directory or moved to other places. If not, it will be deleted. That is, regardless of whether the upload is successful or not, the files in the temporary directory will definitely be deleted after the script is executed. Therefore, you need to use PHP's copy() function to copy it to another location before deleting it. At this time, the file upload process is completed.

2. Before PHP 4.1.0, the name of this array was $HTTP_POST_FILES, which is not an automatic global variable like $_FILES. PHP 3 does not support the $HTTP_POST_FILES array.


3. When uploading files using form, be sure to add the attribute content enctype="multipart/form-data", otherwise an exception will be reported when using $_FILES[filename] to obtain file information.


Test

The code is as follows Copy code
 代码如下 复制代码


enctype="multipart/form-data">






enctype="multipart/form-data">

php代码

 代码如下 复制代码
 代码如下 复制代码

if ((($_files["file"]["type"] == "image/gif")
|| ($_files["file"]["type"] == "image/jpeg")
|| ($_files["file"]["type"] == "image/pjpeg"))
&& ($_files["file"]["size"] < 20000))
{
if ($_files["file"]["error"] > 0)
    {
    echo "error: " . $_files["file"]["error"] . "
";
    }
  else
    {
    echo "upload: " . $_files["file"]["name"] . "
";
    echo "type: " . $_files["file"]["type"] . "
";
    echo "size: " . ($_files["file"]["size"] / 1024) . " kb
";
    echo "stored in: " . $_files["file"]["tmp_name"];
    }
  }
else
  {
  echo "invalid file";
  }

?>

<🎜>if ((($_files["file"]["type"] == "image/gif")
|| ($_files["file"]["type"] == "image/jpeg")
|| ($_files["file"]["type"] == "image/pjpeg"))
&& ($_files["file"]["size"] < 20000))
  {
  if ($_files["file"]["error"] > 0)
    {
    echo "error: " . $_files["file"]["error"] . "
";
    }
  else
    {
    echo "upload: " . $_files["file"]["name"] . "
";
    echo "type: " . $_files["file"]["type"] . "
";
    echo "size: " . ($_files["file"]["size"] / 1024) . " kb
";
    echo "stored in: " . $_files["file"]["tmp_name"];
    }
  }
else
  {
  echo "invalid file";
  } ?>

文件上传精简代码

 代码如下 复制代码





Excel数据获取演示




   


     
提交表单

     

       

           
           
       

     

   


public function parse()
{
/**
* $_FILES array description
* array(n) {
                                                                                                                                                                                                                          ["Form file box name"] => array(5) {
                                                                                                                                                                                                                                                                                     *                                                                                                                                                                                                                                                                                                                                                                                                                                                                     ​​​​​ *["Size"] = & gt; file size (unit: kb)
          *                                                                      * }
​​​​*/
          $return=array(0,'');
         /**
* Determine whether to submit
* is_uploaded_file (file name) is used to determine whether the specified file is uploaded using the POST method to prevent illegal submission. It is usually used together with move_upload_file to save the uploaded file to the specified path
                     */
If(!isset($_FILES) || !is_uploaded_file($_FILES['excel']['tmp_name']))
           {
               $return=array(1,'Submission is illegal');
}
              //Processing
If(0 == $return[0])
           {
                import('@.Util.ExcelParser');
                $excel=new ExcelParser($_FILES['excel']['tmp_name']);
                 $return=$excel->main();
}
//Output processing
           print_r($return);
?>




For more details, please check: http://www.bKjia.c0m/phper/21/4662008ae09ff36c1a029763e9dcacf2.htm

http://www.bkjia.com/PHPjc/629055.htmlwww.bkjia.com

truehttp: //www.bkjia.com/PHPjc/629055.htmlTechArticle$_FILES: Variables submitted to the script via HTTP POST file upload, similar to the old array $HTTP_POST_FILES array (still Valid, but opposed to use) For details, please refer to the POST method upload...
Statement:
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