AppserverIo\Appserver\Meta\Composer\Script\Setup::changeFilePermissions PHP Method

changeFilePermissions() public static method

Sets the passed mode for the file if NOT on Windows.
public static changeFilePermissions ( string $filename, integer $mode = 420 ) : void
$filename string The filename to set the mode for
$mode integer The mode to set
return void
    public static function changeFilePermissions($filename, $mode = 0644)
    {
        // make the passed filename OS compliant
        $toBeChanged = Setup::prepareOsSpecificPath($filename);
        // change the mode, if we're not on Windows
        if (SetupKeys::OS_FAMILY_WINDOWS !== strtolower(php_uname('s'))) {
            chmod($toBeChanged, $mode);
        }
    }

Usage Example

Example #1
0
 /**
  * Processes the template and replace the properties with the OS specific values.
  *
  * @param string  $template The path to the template
  * @param boolean $override TRUE if the file should be overwritten if exists, else FALSE
  * @param integer $mode     The mode of the target file
  *
  * @return void
  */
 public static function processTemplate($template, $override = false, $mode = 0644)
 {
     // prepare the target filename
     $targetFile = Setup::prepareOsSpecificPath($template);
     // query whether we've to override the file
     if ($override === false && is_file($targetFile) === true) {
         return;
     }
     // prepare the target directory
     Setup::prepareDirectory($template);
     // process the template and store the result in the passed file
     ob_start();
     include Setup::prepareOsSpecificPath(sprintf('resources/templates/%s.phtml', $template));
     file_put_contents($targetFile, ob_get_clean());
     // set the correct mode for the file
     Setup::changeFilePermissions($template, $mode);
 }