加入收藏 | 设为首页 | 会员中心 | 我要投稿 PHP编程网 - 黄冈站长网 (http://www.0713zz.com/)- 数据应用、建站、人体识别、智能机器人、语音技术!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

在php中判断文件空目录是否有读写权限

发布时间:2022-07-09 09:04:03 所属栏目:PHP教程 来源:互联网
导读:Example #1 is_writable() 例子 代码如下 复制代码 $filename = test.txt; if (is_writable($filename)) { echo The file is writable; } else { echo The file is not writable; } ? 上面的函数有一个问题就是filename 必需。规定要检查的文件 ,必须是文
  Example #1 is_writable() 例子
 
  代码如下 复制代码
 
  $filename = 'test.txt';
 
  if (is_writable($filename)) {
 
  echo 'The file is writable';
 
  } else {
 
  echo 'The file is not writable';
 
  }
 
  ?>
 
  上面的函数有一个问题就是filename 必需。规定要检查的文件  ,必须是文件啊,目录不可判断,下面我们来判断空目录。
 
  实例1
 
  该功能非常常用,特别在一些需要生成静态文件的项目中,一个目录是否可以,关乎到是否对该目录有创建文件删除文件的权限
 
  代码如下 复制代码
 
  /*
 
  问题出现:如何检查一个目录是否可写,如何目录下还有目录和文件,那么都要检查
 
  思路:
 
  (1)首先先写出检查空目录是否可写的算法:
 
  在该目录中生成一个文件,如果不能生成,表明该目录没有写的权限
 
  (2)使用递归的办法来进行检查
 
  代码实现:
 
  */
 
  set_time_limit(1000);
 
  function check_dir_iswritable($dir_path){
 
  $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){
 
  @fclose($file_hd);
 
  @unlink($dir_path.'/test.txt');
 
  $is_writale=0;
 
  return $is_writale;
 
  }
 
  $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){
 
  @fclose($file_hd2);
 
  @unlink($dir_path.'/'.$file.'/test.txt');
 
  $is_writale=0;
 
  return $is_writale;
 
  }
 
  //递归
 
  $is_writale=check_dir_iswritable($dir_path.'/'.$file);
 
  }
 
  }
 
  }
 
  }
 
  return $is_writale;
 
  }
 
  上面实例主要是fopen去在目录创建文件或在文件中写内容,这样就可以判断目录的读写权限了。

(编辑:PHP编程网 - 黄冈站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读