PHPでディレクトリ内ファイルのパーミッションを変更する

php_logo

  glob

 

globを使ってディレクトリ内にある.cgi ファイルのパーミッションを755にするサンプル。

$chk = 0;
$file = glob('*.cgi');
foreach ($file as $path) {
  $p = substr( sprintf( '%o', fileperms($path)), -3);
  $pp = chmod($path, 0755);
  if($pp == 1){
    $ch_status = "&nbsp;&nbsp;<span style='color:green'>OK</span>";
  }else{
    $chk += 1;
    $ch_status = "&nbsp;&nbsp;<span style='color:red'>NG</span>";
  }
  echo $path . $ch_status . "<br>";
}

 

別ディレクトリから取得するのは相対パス指定でいける。

 

$file = glob('dir/' . '*.cgi');