PHP对文件夹递归执行chmod命令的方法

yipeiwu_com6年前PHP代码库

本文实例讲述了PHP对文件夹递归执行chmod命令的方法。分享给大家供大家参考。具体分析如下:

这里对文件夹和文件递归执行chmod命令来改变执行权限

<?php
  function recursiveChmod($path, $filePerm=0644, $dirPerm=0755)
  {
   // Check if the path exists
   if(!file_exists($path))
   {
     return(FALSE);
   }
   // See whether this is a file
   if(is_file($path))
   {
     // Chmod the file with our given filepermissions
     chmod($path, $filePerm);
   // If this is a directory...
   } elseif(is_dir($path)) {
     // Then get an array of the contents
     $foldersAndFiles = scandir($path);
     // Remove "." and ".." from the list
     $entries = array_slice($foldersAndFiles, 2);
     // Parse every result...
     foreach($entries as $entry)
     {
      // And call this function again recursively, with the same permissions
      recursiveChmod($path."/".$entry, $filePerm, $dirPerm);
     }
     // When we are done with the contents of the directory, we chmod the directory itself
     chmod($path, $dirPerm);
   }
   // Everything seemed to work out well, return TRUE
   return(TRUE);
  }
?>

希望本文所述对大家的php程序设计有所帮助。

相关文章

PHP 自定义可控的字符串加密解密方法函数

以下这个是我在项目中常用的字符串加密解密函数,供大家参考有个好处是每次调用加密后的数据都是不一样的但都能解密回原来的数据。/**  * @param $string&n...

PHP Swoole异步读取、写入文件操作示例

PHP Swoole异步读取、写入文件操作示例

本文实例讲述了PHP Swoole异步读取、写入文件操作。分享给大家供大家参考,具体如下: 异步读取文件:swoole_async_readfile 异步写入文件:swoole_asyn...

PHP memcache扩展的三种安装方法

关于比较请看http://code.google.com/p/memcached/wiki/PHPClientComparison。推荐使用新的memcached,安装方法基本同下面,只...

PHP信号处理机制的操作代码讲解

我们首先来看下实例代码: function sig_handler($sig) { print("handled sig: $sig\n"); } pc...

解决ThinkPHP关闭调试模式时报错的问题汇总

案例一: 最近用ThinkPHP开发一个项目,本地开发测试完成上传到服务器后,第一次打开正常,再刷新页面时就出现 “页面调试错误,无法找开页面,请重试”的错误. 我就郁闷啦,明明本地设置...