Home > Article > Backend Development > The use and precautions of $_FILES in PHP_PHP tutorial
$_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 | ||||
|
php代码
代码如下 | 复制代码 | ||||
|| ($_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"; } ?> |
文件上传精简代码
代码如下 | 复制代码 |
提交表单 public function parse() |
http://www.bkjia.com/PHPjc/629055.htmlwww.bkjia.com