php检测目录是否可写

来源:赵克立博客 分类: PHP 标签:PHP发布时间:2014-05-11 02:05:00最后更新:2014-05-11 03:16:21浏览:2478
版权声明:
本文为博主原创文章,转载请声明原文链接...谢谢。o_0。
更新时间:
2014-05-11 03:16:21
温馨提示:
学无止境,技术类文章有它的时效性,请留意文章更新时间,如发现内容有误请留言指出,防止别人"踩坑",我会及时更新文章
/**
 *@param $dir_path 要检测的目录
 *检测目录是否可写
 */
  function check_dir_iswritable($dir_path){
	set_time_limit(1000);
  $dir_path=str_replace('\\','/',$dir_path);
  $is_writale=1;
  if(!is_dir($dir_path)){
    $is_writale=0;
    return $is_writale;
  }else{
   $file_hd=@fopen($dir_path.'/test.txt','w');
   if(!$file_hd){
    $is_writale=0;
    return $is_writale;
   }else{
	@fclose($file_hd);
    @unlink($dir_path.'/test.txt');
	   }
   $dir_hd=opendir($dir_path);
   while(false!==($file=readdir($dir_hd))){
    if ($file != "." && $file != "..") {
     if(is_file($dir_path.'/'.$file)){
      //文件不可写,直接返回
      if(!is_writable($dir_path.'/'.$file)){
       return 0;
      } 
     }else{
      $file_hd2=@fopen($dir_path.'/'.$file.'/test.txt','w');
      if(!$file_hd2){
       $is_writale=0;
       return $is_writale;
      }else{
	   @fclose($file_hd2);
       @unlink($dir_path.'/'.$file.'/test.txt');
		  }
      //递归
      $is_writale=check_dir_iswritable($dir_path.'/'.$file);
     }
    }
   }
  }
  return $is_writale;
  }

微信号:kelicom QQ群:215861553 紧急求助须知
Win32/PHP/JS/Android/Python