Skip to content

Instantly share code, notes, and snippets.

@aslamdoctor
Forked from jasperf/php-chmod
Last active September 10, 2022 12:49
Show Gist options
  • Save aslamdoctor/6c5350a74e168ae367337e0458c6728b to your computer and use it in GitHub Desktop.
Save aslamdoctor/6c5350a74e168ae367337e0458c6728b to your computer and use it in GitHub Desktop.
PHP Script to change file and folder permissions
<?php
//http://www.webhostingtalk.com/showthread.php?t=218863
$start_dir = 'whatever'; // Starting directory no trailing slashes.
$perms['file'] = 0644; // chmod value for files don't enclose value in quotes.
$perms['folder'] = 0755; // chmod value for folders don't enclose value in quotes.
function chmod_file_folder($dir) {
global $perms;
$dh=@opendir($dir);
if ($dh) {
while (false!==($file = readdir($dh))) {
if($file!="." && $file!="..") {
$fullpath = $dir .'/'. $file;
if(!is_dir($fullpath)) {
if(chmod($fullpath, $perms['file'])) {
echo "\n<br><span style=\"font-weight:bold;\">File</span> ". $fullpath .' permissions changed to '. decoct($perms['file']);
}else {
echo "\n<br><span style=\"font-weight:bold; color:#ff0000;\">Failed</span> to set file permissions on ". $fullpath;
}
}else {
if(chmod($fullpath, $perms['folder'])) {
echo "\n<br><span style=\"font-weight:bold;\">Directory</span> ". $fullpath .' permissions changed to '. decoct($perms['folder']);
chmod_file_folder($fullpath);
}else {
echo "\n<br><span style=\"font-weight:bold; color:#ff0000;\">Failed</span> to set directory permissions on ". $fullpath;
}
}
}
}
closedir($dh);
}
}
chmod_file_folder($start_dir);
?>
@aslamdoctor
Copy link
Author

That's really nice @MathiasReker

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment