Home > Article > Backend Development > How to get the file name in the directory in PHP (summary sharing)
In the previous article "Knowledge Summary of Closing and Opening Directories in PHP File Processing", the relevant knowledge of how to open and close directories in PHP was introduced in detail. Let's continue to look at this article. Let’s take a look at how to obtain relevant knowledge about files in a directory in PHP. Among them is the knowledge about opening and closing directories in our previous article. I hope it will be helpful to everyone!
We have learned how to open and close a directory in PHP. Before closing the directory, the directory will be operated. One of the commonly used operations is to obtain the contents of the directory. Files and folders.
In other words, if you want to know how to get the files in the directory, you must first open and close the directory, so opendir()
function and closedir()
If you don’t understand the function yet, you can click on the link above to learn. Let's take a look at how to obtain the files in the directory in PHP.
In PHP, we can complete the operation of obtaining the file name in the directory through the readdir()
function and the scandir()
function.
<strong><span style="font-size: 20px;">readdir()</span></strong>
Function gets the next file name in the file
readdir()
The function is a simple operation. It is simple because when the function is executed successfully, it can return to open the directory through the opendir()
function A file or directory name in; if the function does not execute successfully, the returned result is flase
.
The basic syntax format of the readdir() function is as follows:
readdir([resource $dir_handle])
It should be noted that: $dir_handle
is an optional parameter. When filled in, it means is the directory parameter opened through the opendir()
function.
Next, let’s take a look at the use of the readdir() function through an example. The example is as follows:
<?php $dir = 'D:'; if(is_dir($dir)){ $info = opendir($dir); $file = readdir($info); echo $file.'<br>'; closedir($info); } ?>
Output result:
This writing method in the above example is generally not used. Generally, if you want to obtain the files in all directories through the readdir() function, you need to obtain them through a while
loop. The example is as follows:
<?php $dir = 'D:'; if(is_dir($dir)){ $info = opendir($dir); while (($file = readdir($info)) !== false) { echo $file.'<br>'; } closedir($info); } ?>
Output result:
In this way, we complete the acquisition of the file name in the target directory through the readdir() function and the while loop. This is the application of the readdir() function. Next, let's look at another method, which is the scandir()
function.
<strong><span style="font-size: 20px;">scandir()</span></strong>
Function, returns the directory file name in array form
We learned above that the readdir()
function can obtain the file name in the target directory, and with the while loop, the file or directory name in the directory can be obtained simply and directly. The scandir() function to be discussed next is somewhat different from the readdir() function.
readdir()
The function can only return one file name at a time, but the scandir()
function can return all files in the target directory after successful execution. The file name and directory name;
readdir
The result returned is directly the name of the file, scandir
The result returned is also the name of the file but it is The result returned in the form of an array;
readdir
If the function is not executed successfully, the returned result is false, scandir
When the function is not executed successfully The returned value is also flase but there will also be an error message.
Let’s take a look at the basic syntax of the scandir() function. The example is as follows:
scandir(string $directory[, int $sorting_order[, resource $context]])
What needs to be noted is: $directory
indicates the directory to be read; when the parameter of $sorting_order
is set to SCANDIR_SORT_DESCENDING
or 1
, the returned result is the file name, and their The sorting order is in descending alphabetical order. When the $sorting_order parameter is set to SCANDIR_SORT_NONE
, the returned result is the unsorted result, and this parameter is an optional parameter.
Next, let’s take a look at the application of the scandir() function through an example. The example is as follows:
<?php $dir = 'D:\phpstudy_pro\WWW'; if(is_dir($dir)){ $arr1 = scandir($dir); $arr2 = scandir($dir, 1); } echo "<pre class="brush:php;toolbar:false">"; print_r($arr1); print_r($arr2); ?>
In the above example, the purpose is to use the scandir() function to obtain the directory path as " D:\phpstudy_pro\WWW" directory, and then use different parameters to achieve different alphabetical arrangements. The output results are as follows:
Through the above From the example, you can see that the scandir() function can return the file names in the target directory in the form of an array, and the order of the returned results will be different depending on the $sorting_order parameter in the function.
If you are interested, you can click on "PHP Video Tutorial" and "Knowledge Summary of Closing and Opening Directories in PHP File Processing" to learn more about PHP knowledge .
The above is the detailed content of How to get the file name in the directory in PHP (summary sharing). For more information, please follow other related articles on the PHP Chinese website!