Rumah > pembangunan bahagian belakang > tutorial php > 判断对文件空目录是否有读写权限的php代码

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

PHP中文网
Lepaskan: 2023-02-28 20:50:02
asal
2276 orang telah melayarinya

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

is_writable用来处理,记住 PHP 也许只能以运行 webserver 的用户名(通常为 \'nobody\')来访问文件。不计入安全模式的限制。 
Example #1 is_writable() 例子 

<?php 
$filename = &#39;test.txt&#39;; 
if (is_writable($filename)) { 
echo &#39;The file is writable&#39;; 
} else { 
echo &#39;The file is not writable&#39;; 
} 
?>
Salin selepas log masuk


上面的函数有一个问题就是filename 必需。规定要检查的文件 ,必须是文件啊,目录不可判断,下面我们来判断空目录。
实例1
该功能非常常用,特别在一些需要生成静态文件的项目中,一个目录是否可以,关乎到是否对该目录有创建文件删除文件的权限

/* 
问题出现:如何检查一个目录是否可写,如何目录下还有目录和文件,那么都要检查 
思路: 
(1)首先先写出检查空目录是否可写的算法: 
在该目录中生成一个文件,如果不能生成,表明该目录没有写的权限 
(2)使用递归的办法来进行检查 
代码实现: 
*/ 
set_time_limit(1000); 
function check_dir_iswritable($dir_path){ 
$dir_path=str_replace(&#39;\&#39;,&#39;/&#39;,$dir_path); 
$is_writale=1; 
if(!is_dir($dir_path)){ 
$is_writale=0; 
return $is_writale; 
}else{ 
$file_hd=@fopen($dir_path.&#39;/test.txt&#39;,&#39;w&#39;); 
if(!$file_hd){ 
@fclose($file_hd); 
@unlink($dir_path.&#39;/test.txt&#39;); 
$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.&#39;/&#39;.$file)){ 
//文件不可写,直接返回 
if(!is_writable($dir_path.&#39;/&#39;.$file)){ 
return 0; 
} 
}else{ 
$file_hd2=@fopen($dir_path.&#39;/&#39;.$file.&#39;/test.txt&#39;,&#39;w&#39;); 
if(!$file_hd2){ 
@fclose($file_hd2); 
@unlink($dir_path.&#39;/&#39;.$file.&#39;/test.txt&#39;); 
$is_writale=0; 
return $is_writale; 
} 
//递归 
$is_writale=check_dir_iswritable($dir_path.&#39;/&#39;.$file); 
} 
} 
} 
} 
return $is_writale; 
}
Salin selepas log masuk

上面实例主要是fopen去在目录创建文件或在文件中写内容,这样就可以判断目录的读写权限了。

以上就是判断对文件空目录是否有读写权限的php代码 的内容,更多相关内容请关注PHP中文网(m.sbmmt.com)!

Label berkaitan:
php
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan