On this page
WP_Filesystem_ftpsockets::dirlist( string $path = '.', bool $include_hidden = true, bool $recursive = false ): array|false
Gets details for files in a directory or a specific file.
Parameters
$pathstring Optional-
Path to directory or file.
Default:
'.' $include_hiddenbool Optional-
Whether to include details of hidden ("." prefixed) files.
Default:
true $recursivebool Optional-
Whether to recursively include file details in nested directories.
Default:
false
Return
array|false Array of files. False if unable to list directory contents.
namestringName of the file or directory.permsstring*nix representation of permissions.permsnstringOctal representation of permissions.ownerstringOwner name or ID.sizeintSize of file in bytes.lastmodunixintLast modified unix timestamp.lastmodmixedLast modified month (3 letter) and day (without leading 0).timeintLast modified time.typestringType of resource.'f'for file,'d'for directory.filesmixedIf a directory and$recursiveis true, contains another array of files.
Source
File: wp-admin/includes/class-wp-filesystem-ftpsockets.php. View all references
public function dirlist( $path = '.', $include_hidden = true, $recursive = false ) {
if ( $this->is_file( $path ) ) {
$limit_file = basename( $path );
$path = dirname( $path ) . '/';
} else {
$limit_file = false;
}
mbstring_binary_safe_encoding();
$list = $this->ftp->dirlist( $path );
if ( empty( $list ) && ! $this->exists( $path ) ) {
reset_mbstring_encoding();
return false;
}
$ret = array();
foreach ( $list as $struc ) {
if ( '.' === $struc['name'] || '..' === $struc['name'] ) {
continue;
}
if ( ! $include_hidden && '.' === $struc['name'][0] ) {
continue;
}
if ( $limit_file && $struc['name'] !== $limit_file ) {
continue;
}
if ( 'd' === $struc['type'] ) {
if ( $recursive ) {
$struc['files'] = $this->dirlist( $path . '/' . $struc['name'], $include_hidden, $recursive );
} else {
$struc['files'] = array();
}
}
// Replace symlinks formatted as "source -> target" with just the source name.
if ( $struc['islink'] ) {
$struc['name'] = preg_replace( '/(\s*->\s*.*)$/', '', $struc['name'] );
}
// Add the octal representation of the file permissions.
$struc['permsn'] = $this->getnumchmodfromh( $struc['perms'] );
$ret[ $struc['name'] ] = $struc;
}
reset_mbstring_encoding();
return $ret;
}
Related
Uses
| Uses | Description |
|---|---|
| WP_Filesystem_ftpsockets::dirlist() wp-admin/includes/class-wp-filesystem-ftpsockets.php | Gets details for files in a directory or a specific file. |
| WP_Filesystem_ftpsockets::is_file() wp-admin/includes/class-wp-filesystem-ftpsockets.php | Checks if resource is a file. |
| WP_Filesystem_ftpsockets::exists() wp-admin/includes/class-wp-filesystem-ftpsockets.php | Checks if a file or directory exists. |
| mbstring_binary_safe_encoding() wp-includes/functions.php | Sets the mbstring internal encoding to a binary safe encoding when func_overload is enabled. |
| reset_mbstring_encoding() wp-includes/functions.php | Resets the mbstring internal encoding to a users previously set encoding. |
Used By
| Used By | Description |
|---|---|
| WP_Filesystem_ftpsockets::dirlist() wp-admin/includes/class-wp-filesystem-ftpsockets.php | Gets details for files in a directory or a specific file. |
| WP_Filesystem_ftpsockets::owner() wp-admin/includes/class-wp-filesystem-ftpsockets.php | Gets the file owner. |
| WP_Filesystem_ftpsockets::getchmod() wp-admin/includes/class-wp-filesystem-ftpsockets.php | Gets the permissions of the specified file or filepath in their octal format. |
| WP_Filesystem_ftpsockets::group() wp-admin/includes/class-wp-filesystem-ftpsockets.php | Gets the file’s group. |
| WP_Filesystem_ftpsockets::chmod() wp-admin/includes/class-wp-filesystem-ftpsockets.php | Changes filesystem permissions. |
Changelog
| Version | Description |
|---|---|
| 2.5.0 | Introduced. |
© 2003–2022 WordPress Foundation
Licensed under the GNU GPLv2+ License.
https://developer.wordpress.org/reference/classes/wp_filesystem_ftpsockets/dirlist