GoLang umask

is this article helpful? yes | no
GoLang replacement for PHP's umask [edit | history]
func Umask(mask int) int {
	return syscall.Umask(mask)
}

PHP umask

PHP original manual for umask [ show | php.net ]

umask

(PHP 4, PHP 5, PHP 7)

umaskChanges the current umask

Description

int umask ([ int $mask ] )

umask() sets PHP's umask to mask & 0777 and returns the old umask. When PHP is being used as a server module, the umask is restored when each request is finished.

Parameters

mask

The new umask.

Return Values

umask() without arguments simply returns the current umask otherwise the old umask is returned.

Examples

Example #1 umask() example

<?php
$old 
umask(0);
chmod("/path/some_dir/some_file.txt"0755);
umask($old);

// Checking
if ($old != umask()) {
    die(
'An error occurred while changing back the umask');
}
?>

Notes

Note:

Avoid using this function in multithreaded webservers. It is better to change the file permissions with chmod() after creating the file. Using umask() can lead to unexpected behavior of concurrently running scripts and the webserver itself because they all use the same umask.