Gets details for files in a directory or a specific file.
Parameters
$path
stringoptional- Path to directory or file.
Default:
'.'
$include_hidden
booloptional- Whether to include details of hidden ("." prefixed) files.
Default:
true
$recursive
booloptional- Whether to recursively include file details in nested directories.
Default:
false
Return
array|false Array of arrays containing file information. False if unable to list directory contents.0...
arrayArray of file information. Note that some elements may not be available on all filesystems.name
stringName of the file or directory.perms
string*nix representation of permissions.permsn
stringOctal representation of permissions.number
int|string|falseFile number. May be a numeric string. False if not available.owner
string|falseOwner name or ID, or false if not available.group
string|falseFile permissions group, or false if not available.size
int|string|falseSize of file in bytes. May be a numeric string.
False if not available.lastmodunix
int|string|falseLast modified unix timestamp. May be a numeric string.
False if not available.lastmod
string|falseLast modified month (3 letters) and day (without leading 0), or false if not available.time
string|falseLast modified time, or false if not available.type
stringType of resource.'f'
for file,'d'
for directory,'l'
for link.files
array|falseIf a directory and$recursive
is true, contains another array of files. False if unable to list directory contents.
Source
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; } $path = trailingslashit( $path ); $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
Show 1 moreShow lessUses 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.
trailingslashit() wp-includes/formatting.php
Appends a trailing slash.
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.
User Contributed Notes
You must log in before being able to contribute a note or feedback.