Home >Backend Development >PHP Tutorial >Detailed explanation of PHP file upload_PHP tutorial
File upload is divided into two parts, the HTML display part and the PHP processing part. The HTML part is mainly used to allow users to select the files to be uploaded, and then receive them in the background through $_FILES in PHP, and then upload the files to in the specified directory.
HTML part:
The code is as follows | Copy code | ||||
|
代码如下 | 复制代码 |
if($_FILES['myfile']['name'] != '') { if($_FILES['myfile']['error'] > 0) { echo "错误状态:" . $_FILES['myfile']['error']; } else { move_uploaded_file($_FILES['myfile']['tmp_name'] , "uploads/" . $FILES['myfile']['name']); echo "<script>alert(上传成功!);</script>"; } } else{ echo "<script>alert(请上传文件!);</script>"; } ?> |
The code is as follows | Copy code |
<🎜>if($_FILES['myfile']['name'] != '') {<🎜> <🎜>if($_FILES['myfile']['error'] > 0) { echo "Error status:" . $_FILES['myfile']['error']; } else { move_uploaded_file($_FILES['myfile']['tmp_name'] , "uploads/" . $FILES['myfile']['name']); echo "<script>alert(Upload successful!);</script>"; } } else{ echo "<script>alert(Please upload the file!);</script>"; } ?> |
Description:
Before explaining this code, we need to understand the following knowledge.
$_FILES['myfile']['name'] refers to the name of the uploaded file
$_FILES['myfile']['type'] refers to the type of file being uploaded
$_FILES['myfile']['size'] refers to the size of the uploaded file, in bytes (B)
$_FILES['myfile']['tmp_name'] refers to the name of the temporary copy file of the uploaded file stored in the server. After the file is moved to the specified directory, the temporary file will be automatically destroyed.
$_FILES['myfile']["error"] refers to the status code of errors that may occur during file upload. The meaning of each status will be explained later.
First of all, myfile in $_FILES['myfile']['name'] refers to the name value of the file tag uploaded in the above HTML page. Based on this, we can know which input submitted the file we are processing. , and then check whether $_FILES['myfile']['name'] is empty. Based on this, we can know whether the user has uploaded files and perform different operations. If the file is uploaded and the status is 0, it means the upload is successful. We can use the move_uploaded_file method to store the uploaded file in the specified directory. The above example refers to moving the uploaded file to the uploads folder in the same directory. This path It is a relative directory relative to this PHP file (upload.php). For example, if we want to move the uploaded file to a folder called user one level above upload.php, we can write like this: move_uploaded_file($_FILES['myfile']['tmp_name'], "../user /" . $FILES['myfile']['name']), this method is very convenient and flexible to use. In this way, a file is uploaded to the server, and the directory in the server can be opened to view the file. Allowing users to upload files is an act that carries huge security risks. Therefore, usually, we will impose some restrictions on the files uploaded by users, as follows:
The code is as follows | Copy code | ||||
|