WP_Filesystem_Base::gethchmod()publicWP 2.5.0

Returns the *nix-style file permissions for a file.

From the PHP documentation page for fileperms().

Метод класса: WP_Filesystem_Base{}

Хуков нет.

Возвращает

Строку. The *nix-style representation of permissions.

Использование

$WP_Filesystem_Base = new WP_Filesystem_Base();
$WP_Filesystem_Base->gethchmod( $file );
$file(строка) (обязательный)
String filename.

Список изменений

С версии 2.5.0 Введена.

Код WP_Filesystem_Base::gethchmod() WP 6.5.2

public function gethchmod( $file ) {
	$perms = intval( $this->getchmod( $file ), 8 );

	if ( ( $perms & 0xC000 ) === 0xC000 ) { // Socket.
		$info = 's';
	} elseif ( ( $perms & 0xA000 ) === 0xA000 ) { // Symbolic Link.
		$info = 'l';
	} elseif ( ( $perms & 0x8000 ) === 0x8000 ) { // Regular.
		$info = '-';
	} elseif ( ( $perms & 0x6000 ) === 0x6000 ) { // Block special.
		$info = 'b';
	} elseif ( ( $perms & 0x4000 ) === 0x4000 ) { // Directory.
		$info = 'd';
	} elseif ( ( $perms & 0x2000 ) === 0x2000 ) { // Character special.
		$info = 'c';
	} elseif ( ( $perms & 0x1000 ) === 0x1000 ) { // FIFO pipe.
		$info = 'p';
	} else { // Unknown.
		$info = 'u';
	}

	// Owner.
	$info .= ( ( $perms & 0x0100 ) ? 'r' : '-' );
	$info .= ( ( $perms & 0x0080 ) ? 'w' : '-' );
	$info .= ( ( $perms & 0x0040 ) ?
				( ( $perms & 0x0800 ) ? 's' : 'x' ) :
				( ( $perms & 0x0800 ) ? 'S' : '-' ) );

	// Group.
	$info .= ( ( $perms & 0x0020 ) ? 'r' : '-' );
	$info .= ( ( $perms & 0x0010 ) ? 'w' : '-' );
	$info .= ( ( $perms & 0x0008 ) ?
				( ( $perms & 0x0400 ) ? 's' : 'x' ) :
				( ( $perms & 0x0400 ) ? 'S' : '-' ) );

	// World.
	$info .= ( ( $perms & 0x0004 ) ? 'r' : '-' );
	$info .= ( ( $perms & 0x0002 ) ? 'w' : '-' );
	$info .= ( ( $perms & 0x0001 ) ?
				( ( $perms & 0x0200 ) ? 't' : 'x' ) :
				( ( $perms & 0x0200 ) ? 'T' : '-' ) );

	return $info;
}