Home  >  Article  >  Backend Development  >  PHP glob() function usage example: traverse all files in a specified folder

PHP glob() function usage example: traverse all files in a specified folder

王林
王林Original
2023-06-27 09:16:071660browse

PHP glob() function usage example: traverse all files in a specified folder

In PHP development, it is often necessary to traverse all files in a specified folder to achieve batch operation or reading of files. PHP's glob() function is used to achieve this requirement.

The glob() function can obtain the path information of all files that meet the conditions in the specified folder by specifying a wildcard matching pattern. In this article, we will demonstrate how to use the glob() function to iterate through all files in a specified folder.

1. Basic usage of the glob() function

The basic syntax of the glob() function is as follows:

array glob ( string $pattern [, int $flags = 0 ] )

Among them, the $pattern parameter represents the matching wildcard pattern, $flags Parameters are used to specify matching patterns.

Return value: If the match is successful, an array containing the matching results is returned. If an error occurs, false is returned.

The following is a simple example for traversing all files in a specified folder (such as the "uploads" directory):

$dir = "uploads/";
$array = glob($dir."*");
print_r($array);

The above code will output all files in the specified folder. Path information, for example:

Array
(
    [0] => uploads/file1.txt
    [1] => uploads/file2.txt
    [2] => uploads/picture1.jpg
    [3] => uploads/picture2.jpg
)

2. Use wildcard pattern to match specified files

If you need to match files of a specified type, we can use wildcard pattern to achieve this. For example, if we need to traverse all image files (.jpg, .png, etc.) in a specified folder, we can use the wildcard character .jpg or .png to match the file name.

The following code shows how to match all files with a .jpg extension:

$dir = "uploads/";
$array = glob($dir."*.jpg");
print_r($array);

The above code will output the path information of all files with a .jpg extension in the uploads directory.

3. Ignore some files

If you want to ignore files or folders of specified types, you can use wildcard mode to achieve this. For example, we can use the wildcard !pattern to ignore specific files or folders from matching results.

The following code shows how to ignore files named "ignore.jpg" in the uploads directory:

$dir = "uploads/";
$array = glob($dir."*.jpg");
$array = array_diff($array, glob($dir."ignore.jpg"));
print_r($array);

The above code will output the paths of all files with a .jpg extension in the uploads directory. information, but files named "ignore.jpg" will be ignored.

4. Sort the matching results

If you need to sort the matching results, you can pass in the $flags parameter in the glob() function and set the corresponding sorting mode.

For example, using the flags GLOB_BRACE | GLOB_NOSORT | GLOB_MARK will enable a mode of excluding results:

$dir = "uploads/";
$array = glob($dir."{*.jpg,*.png}", GLOB_BRACE | GLOB_NOSORT | GLOB_MARK);
print_r($array);

The above code will output the results of all files with .jpg and .png extensions in the uploads directory. Path information, all directories have been excluded, and the results have been sorted.

To sum up, the glob() function is a practical PHP file traversal function that can easily operate on all files in the specified folder. Whether it is simple file traversal or complex file processing, it can be implemented through the glob() function.

The above is the detailed content of PHP glob() function usage example: traverse all files in a specified folder. 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