background image

 

* 可执行 rename()

 

函数权限、可对文件追加内容权限、可写入文件权限、可读取文件权限。

*/

 

function

 file_mode_info(

$file_path

/* 

 

如果不存在,则不可读、不可写、不可改 */

 

if

 (!

file_exists

(

$file_path

)) 

return

 false; 

$mark

 = 0; 

if

 (

strtoupper

(

substr

(PHP_OS, 0, 3)) == 'WIN') 

/* 

 

测试文件 */

 

$test_file

 = 

$file_path

 . '/cf_test.txt'; 

/* 

 

如果是目录 */

 

if

 (

is_dir

(

$file_path

)) 

/* 

 

检查目录是否可读 */

 

$dir

 = @opendir(

$file_path

); 

if

 (

$dir

 === false) 

return

 

$mark

//

 

如果目录打开失败,直接返回目录不可修改、不可写、不可读

if

 (@readdir(

$dir

) !== false) 

$mark

 ^= 1; 

//

 

目录可读 001

 

,目录不可读 000 


@

closedir

(

$dir

); 

/* 

 

检查目录是否可写 */

 

$fp

 = @

fopen

(

$test_file

, 'wb'); 

if

 (

$fp

 === false) 

return

 

$mark

//

 

如果目录中的文件创建失败,返回不可写。

if

 (@fwrite(

$fp

, 'directory access testing.') !== false) 

$mark

 ^= 2; 

//目录可写可读 011

 

,目录可写不可读 010 


@fclose(

$fp

); 

@unlink(

$test_file

); 

/* 

 

检查目录是否可修改 */

 

$fp

 = @

fopen

(

$test_file

, 'ab+'); 

if

 (

$fp

 === false)