php中判断文件空目录是否有读写权限的函数代码

2015-01-24信息快讯网

有时候我们需要判断是否对目录有读写权限就需要下面的代码,需要的朋友的可以参考下

is_writable用来处理,记住 PHP 也许只能以运行 webserver 的用户名(通常为 \'nobody\')来访问文件。不计入安全模式的限制。
Example #1 is_writable() 例子
 
<?php 
$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去在目录创建文件或在文件中写内容,这样就可以判断目录的读写权限了。
解析关于java,php以及html的所有文件编码与乱码的处理方法汇总
使用PHP遍历文件目录与清除目录中文件的实现详解
基于PHP文件操作的详细诠释
使用php将某个目录下面的所有文件罗列出来的方法详解
PHP操作MongoDB GridFS 存储文件的详解
浅析Yii中使用RBAC的完全指南(用户角色权限控制)
解析PHP SPL标准库的用法(遍历目录,查找固定条件的文件)
ThinkPHP的RBAC(基于角色权限控制)深入解析
判断php数组是否为索引数组的实现方法
深入解析yii权限分级式访问控制的实现(非RBAC法)
使用session判断用户登录用户权限(超简单)
php简单浏览目录内容的实现代码
PHP删除目录及目录下所有文件的方法详解
解析php二分法查找数组是否包含某一元素
基于php权限分配的实现代码
使用php get_headers 判断URL是否有效的解决办法
PHP中通过HTTP_USER_AGENT判断是否为手机移动终端的函数代码
php判断上传的Excel文件中是否有图片及PHPExcel库认识
php中++i 与 i++ 的区别
PHP中全局变量global和$GLOBALS[]的区别分析
php一个找二层目录的小东东
php读取文件内容至字符串中,同时去除换行、空行、行首行尾空格(Zjmainstay原创)
单一index.php实现PHP任意层级文件夹遍历(Zjmainstay原创)
php读取txt文件组成SQL并插入数据库的代码(原创自Zjmainstay)
php生成静态文件的多种方法分享
PHP imagecreatefrombmp 从BMP文件或URL新建一图像
注册页面之前先验证用户名是否存在的php代码
SESSION信息保存在哪个文件目录下以及能够用来保存什么类型的数据
检查php文件中是否含有bom的函数
web目录下不应该存在多余的程序(安全考虑)
PHP中文件读、写、删的操作(PHP中对文件和目录操作)
php中用于检测一个地理IP地址是否可用的代码
php后台多用户权限组思路与实现程序代码分享
关于IIS php调用com组件的权限问题
php mysql 判断update之后是否更新了的方法
如何用phpmyadmin设置mysql数据库用户的权限
第六章 php目录与文件操作
PHP+Ajax异步通讯实现用户名邮箱验证是否已注册( 2种方法实现)
PHP+MYSQL会员系统的登陆即权限判断实现代码
实用PHP会员权限控制实现原理分析
©2014-2024 dbsqp.com