PHP regular expression method to verify file extension
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!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics



PHP 8.4 brings several new features, security improvements, and performance improvements with healthy amounts of feature deprecations and removals. This guide explains how to install PHP 8.4 or upgrade to PHP 8.4 on Ubuntu, Debian, or their derivati

Working with database in CakePHP is very easy. We will understand the CRUD (Create, Read, Update, Delete) operations in this chapter.

To work with date and time in cakephp4, we are going to make use of the available FrozenTime class.

To work on file upload we are going to use the form helper. Here, is an example for file upload.

CakePHP is an open-source framework for PHP. It is intended to make developing, deploying and maintaining applications much easier. CakePHP is based on a MVC-like architecture that is both powerful and easy to grasp. Models, Views, and Controllers gu

Validator can be created by adding the following two lines in the controller.

Logging in CakePHP is a very easy task. You just have to use one function. You can log errors, exceptions, user activities, action taken by users, for any background process like cronjob. Logging data in CakePHP is easy. The log() function is provide

Visual Studio Code, also known as VS Code, is a free source code editor — or integrated development environment (IDE) — available for all major operating systems. With a large collection of extensions for many programming languages, VS Code can be c
