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;

}

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/162675.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-11-21 22:46
下一篇 2024-11-22 03:43

相關推薦

發表回復

登錄後才能評論