Skip to content

Instantly share code, notes, and snippets.

@3m1n3nc3
Created July 12, 2023 10:43
Show Gist options
  • Save 3m1n3nc3/5cb04328259cb4d8403c39dbe4b00646 to your computer and use it in GitHub Desktop.
Save 3m1n3nc3/5cb04328259cb4d8403c39dbe4b00646 to your computer and use it in GitHub Desktop.
Recursively change file and directory permissions with php
<?
header('Content-Type: text/plain');
/**
* Changes permissions on files and directories within $dir and dives recursively
* into found subdirectories.
*/
function chmod_r($dir, $dirPermissions, $filePermissions) {
$dp = opendir($dir);
while($file = readdir($dp)) {
if (($file == ".") || ($file == ".."))
continue;
$fullPath = $dir."/".$file;
if(is_dir($fullPath)) {
echo('DIR:' . $fullPath . "\n");
chmod($fullPath, $dirPermissions);
chmod_r($fullPath, $dirPermissions, $filePermissions);
} else {
echo('FILE:' . $fullPath . "\n");
chmod($fullPath, $filePermissions);
}
}
closedir($dp);
}
chmod_r(dirname(__FILE__), 0755, 0644);
?>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment