Home  >  Article  >  Backend Development  >  PHP regular expression method to verify file extension

PHP regular expression method to verify file extension

WBOY
WBOYOriginal
2023-06-24 12:13:401929browse

In the process of web development, sometimes it is necessary to impose format restrictions on uploaded files, that is, only files of specified types can be uploaded to pass verification. At this time, you can use PHP regular expressions to verify the file extension.

PHP regular expression is a powerful tool for matching and searching strings. It can help us quickly and accurately determine whether a piece of text meets the requirements according to certain rules and further process it. Next, this article will explain how to use PHP regular expressions for file extension verification.

Step one: Get the extension of the uploaded file

To verify the extension of the uploaded file, we first need to get the complete file name of the uploaded file. In PHP, you can get file information through the $_FILES variable. This variable is a two-dimensional array through which information such as the name, type, size and temporary storage location of the uploaded file can be obtained.

For example, $_FILES'file' is the original file name of the uploaded file.

Next, we need to separate the file extension from the file name. File information (file name, extension, path, etc.) can be obtained using the PHP built-in function pathinfo(). This function will return an associative array containing information such as file path, file name, and file extension.

For example, $ext = pathinfo($_FILES'file', PATHINFO_EXTENSION); can get the extension of the uploaded file.

Step 2: Use regular expressions to verify the extension of the uploaded file

After obtaining the file extension, you need to verify it to confirm whether the file extension is allowed file type. The method of using PHP regular expressions for verification is as follows:

$allowExt = '/^(jpg|jpeg|png|gif)$/'; // 允许上传的文件类型

if (preg_match($allowExt, $ext)) {
   // 扩展名合法,文件类型符合要求
} else {
   // 扩展名不合法,文件类型不符合要求
}

Among them, use the preg_match() function to match the uploaded file extension. If the match is successful, it means that the file extension is allowed.

The above regular expression '/^(jpg|jpeg|png|gif)$/' will match all strings ending with jpg, jpeg, png and gif. If it matches any of the formats, Legal file format.

It should be noted that '^' in the regular expression represents the starting position of the string, and '$' represents the end position of the string. Therefore, the above regular expression limits the file extension to only four types: jpg, jpeg, png and gif.

Step 3: Complete file upload verification code

Combining the above two steps, the complete file upload verification code is as follows:

<?php

$allowExt = '/^(jpg|jpeg|png|gif)$/'; // 允许上传的文件类型
$ext = pathinfo($_FILES['file']['name'], PATHINFO_EXTENSION); // 获取上传文件的扩展名

if (preg_match($allowExt, $ext)) {
    // 扩展名合法,文件类型符合要求
    echo '文件上传成功!';
    // 进行上传操作
} else {
    // 扩展名不合法,文件类型不符合要求
    echo '文件上传失败,文件类型不允许!';
}

When uploaded When the file extension meets the requirements, "File uploaded successfully" is output and the upload operation is performed; otherwise, "File upload failed, file type is not allowed" is output.

Summary

The above is how to use PHP regular expressions to verify file extensions. By obtaining the extension of the uploaded file and using regular expressions for matching, the uploaded file types can be effectively restricted, providing safer and more effective guarantees for web development.

The above is the detailed content of PHP regular expression method to verify file extension. For more information, please follow other related articles on the PHP Chinese website!

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