您的位置:

php文件或目录权限检查的方法,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;

}