chrmod file code example

Example 1: chmod usage

The three rightmost digits define permissions for the:
file user, the group, and others. 

Example usage: sudo chmod 777 testfile.txt

#	Permission				rwx	Binary
7	read, write and execute	rwx	111
6	read and write			rw-	110
5	read and execute		r-x	101
4	read only				r--	100
3	write and execute		-wx	011
2	write only				-w-	010
1	execute only			--x	001
0	none					---	000

Example 2: set file permissions using code

private function set_perms($file, $is_dir, $permission)
{
  $perm = substr(sprintf("%o", fileperms($file)), -4);
  $dirPermissions = $permission;
  $filePermissions = $permission;

  if($is_dir && $perm != $dirPermissions){
  	chmod($file, octdec($dirPermissions));
  }
  else if(!$is_dir && $perm != $filePermissions){
  chmod($file, octdec($filePermissions));
  }

  flush();
}

$permission = '0777';

$dir = storage_path('framework');

$dp = opendir($dir);

while($file = readdir($dp))
{
	$path = $dir . DIRECTORY_SEPARATOR . $file;
    $is_dir = is_dir($path);
    set_perms($path, $is_dir, $permission);
}