Home > Backend Development > PHP Tutorial > PHP file upload processing example

PHP file upload processing example

墨辰丷
Release: 2023-03-28 19:52:02
Original
1506 people have browsed it

This article mainly introduces the PHP file upload processing method, and analyzes the problems encountered in the PHP file upload operation and related solutions in the form of examples. Friends in need can refer to it

I recently encountered a I have been fooling myself for a long time. I want to talk about my initial thoughts

PHP’s upload mechanism is completely encapsulated and can be implemented with just a few lines of code. Its implementation process is like this

UPLOAD the file to the temporary directory –>Use move_uploadde_file() to the specified directory

This is the PHP upload process, or you can perform some verification in the middle. For example, determine whether the document is submitted through the upload method, or whether the file extension is

allowed by us, and a series of verifications. The simple code I gave can be regarded as a starting point.

$targetFolder = '/uploads'; // 定义根目录
if (!empty($_FILES)) {
  $tempFile = $_FILES['Filedata']['tmp_name'];
if(is_uploaded_file($tempFile))
{
  $targetPath = $_SERVER['DOCUMENT_ROOT'] . $targetFolder;
  $targetFile = rtrim($targetPath,'/') . '/' . $_FILES['Filedata']['name'];
  $fileTypes = array('jpg','jpeg','gif','png'); // 允许的后缀扩展
  $fileParts = pathinfo($_FILES['Filedata']['name']);
  if (in_array($fileParts['extension'],$fileTypes)) {
    move_uploaded_file($tempFile,$targetFile);
    echo '1';
  } else {
    echo '非法上传文档.';
  }
}else
{
  echo "非法上传文件";
}
}
Copy after login

The above method basically meets the requirements for file upload. But that's not what I need.

Upload function

Requirements: First click to upload the document, and then select the upload file. After JS is uploaded, a value will be returned to display the current timestamp name. The file is in the Document Name box.

Then click Submit to submit the form.

The server processes the submitted form and renames the uploaded file.

The problem also arises. The server is IIS, and it is a virtual directory implemented using mapping.

In this case $_SERVER['DOCUMENT_ROOT'] is not in the root directory of the PHP site

Although the upload function is completed, this file cannot be downloaded. From the perspective of server security, I still plan to place the file in the PHP site.

Then I fell into a thinking limitation.

Think about it again:

Why I don’t need to implement PHP’s upload mechanism again.

Don’t PHP put the files in the temporary directory first? Then why do I assume that the directory after the JS upload is successful is also a temporary directory,

and then copy the file when submitting the form again. Go to the specified directory to complete the required function.

PHP has a file copy function Copy(); and then cooperates with the rename() function. In this way, the second move and renaming of the uploaded file can be completed.

Note: If you copy a zero-byte file under the window platform, copy() will return FALSE, but the file will be copied correctly.

Then PHP actively refers to the file processing mechanism of Liunx in file processing. PHP's file operation efficiency is related to I/O writing and the operating system.

Summary: The above is the entire content of this article, I hope it will be helpful to everyone's study.

Related recommendations:

PHP calling interface uses post method to transmit json data

phpSimple Method of implementing combined sorting

Method of combining PHP with Ueditor and modifying the image upload path

The above is the detailed content of PHP file upload processing example. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
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