本文目录一览:
- 1、php检查文件夹是否有写入权限
- 2、php网站文件目录权限如何开
- 3、PHP怎么获取文件目录权限
- 4、php中判断文件空目录是否有读写权限的函数代码
- 5、6.0运行时权限检查可以加在首页吗
- 6、php怎么检查某个文件夹下是否有可写权限
php检查文件夹是否有写入权限
Check director is writable recursively. to return true, all of directory contents must be writable
?php
function is_writable_r($dir) {
if (is_dir($dir)) {
if(is_writable($dir)){
$objects = scandir($dir);
foreach ($objects as $object) {
if ($object != "." $object != "..") {
if (!is_writable_r($dir."/".$object)) return false;
else continue;
}
}
return true;
}else{
return false;
}
}else if(file_exists($dir)){
return (is_writable($dir));
}
}
?
php网站文件目录权限如何开
将权限设置成777就可以了啊。chmod 777 【文件名】
“777”代表权限,对应rwdrwdrwd,从左往右第一位‘7’代表属主的权限对应第一组‘rwd’,r标识可以读,w代表可以写,x代表可以执行。
第二位‘7’代表属组的权限,第三位‘7’代表所有人的权限。例如只允许属主读写执行赋予700权限对应rwd权限。也可以使用a、u、字母表示权限,比如chmod a+x 【文件名】 是赋予任何人执行的权限,chmod a+r 【文件名】是赋予所有人读得权限,chmod a+w 【文件名】是赋予所有人写的权限,等等。
不过设置777不安全,最好设置成可读就可以了,744应该可以。
PHP怎么获取文件目录权限
PHP 获取文件目录权限函数fileperms,使用这个函数可以文件或者目录属性。
例子程序:
?php
$perms = fileperms('/etc/passwd');
if (($perms 0xC000) == 0xC000) {
// Socket
$info = 's';
} elseif (($perms 0xA000) == 0xA000) {
// Symbolic Link
$info = 'l';
} elseif (($perms 0x8000) == 0x8000) {
// Regular
$info = '-';
} elseif (($perms 0x6000) == 0x6000) {
// Block special
$info = 'b';
} elseif (($perms 0x4000) == 0x4000) {
// Directory
$info = 'd';
} elseif (($perms 0x2000) == 0x2000) {
// Character special
$info = 'c';
} elseif (($perms 0x1000) == 0x1000) {
// FIFO pipe
$info = 'p';
} else {
// Unknown
$info = 'u';
}
php中判断文件空目录是否有读写权限的函数代码
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去在目录创建文件或在文件中写内容,这样就可以判断目录的读写权限了。
6.0运行时权限检查可以加在首页吗
方法/步骤 1、首先,我们先查看系统后台主页是否有“全面检测”的目录权限检测按钮。如果有的话,直接点击检测;如果没有则进入第二步。2、系统后台主页上的检测按钮是自动出现的,其实,这个程序就是dede文件夹下的testenv.php文件,按照正确的路径运行它即可。点击“立即检测”按钮,如果可以正常检测,则按照结果指导进行目录权限设置;如果点击没有反应,那么我们可以判断相关的目录和文件权限设置有问题。3、为了避免发现问题再解决问题的麻烦,我们为所有者、组、其他三类访问对象赋予网站的所有文件和文件夹的所有权限(即读、写、执行),这么做能保证后台的正常运行。那么怎么做呢?登录终端或远程终端,笔者使用xshell软件,登录后,比如网站程序放在www文件夹下,则输入“chmod -R 777 www/ ”回车执行。4、再回到testenv.php程序运行页面,刷新,点击“立即检测”,发现能正常检测,检测结果提供了所有文件和文件夹的权限设置指导方案,此时,我们可以根据这个检测结果进行正确的设置。5、在后台执行原本不能正常运行的操作,也没有故障。好了,那么可以开工去修改准确权限了。
php怎么检查某个文件夹下是否有可写权限
php检查某个文件夹下是否有可写权限
/**
* 检查目录是否可写
* @access public
* @param string $path 目录
* @return boolean
*/
public function checkPath($path){
if (is_dir($path) || mkdir($path, 0755, true)) {
return true;
}
return false;
}