Skip to content

Instantly share code, notes, and snippets.

@darkterminal
Forked from jasperf/php-chmod
Created March 7, 2018 06:01
Show Gist options
  • Save darkterminal/cb0f33f5cafb808ce75521655c23edd8 to your computer and use it in GitHub Desktop.
Save darkterminal/cb0f33f5cafb808ce75521655c23edd8 to your computer and use it in GitHub Desktop.
PHP Script to change file and folder permissions See http://www.webhostingtalk.com/showthread.php?t=218863 #PHP #permissions #chmod
<?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);
?>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment