php++fopen(,PHP: fopen - Manual

This functions check recursive permissions and recursive existence parent folders, before creating a folder. To avoid the generation of errors/warnings.

/**

* This functions check recursive permissions and recursive existence parent folders,

* before creating a folder. To avoid the generation of errors/warnings.

*

* @return bool

*     true folder has been created or exist and writable.

*     False folder not exist and cannot be created.

*/

function createWritableFolder($folder)

{

if (file_exists($folder)) {

// Folder exist.

return is_writable($folder);

}

// Folder not exit, check parent folder.

$folderParent = dirname($folder);

if($folderParent != '.' && $folderParent != '/' ) {

if(!createWritableFolder(dirname($folder))) {

// Failed to create folder parent.

return false;

}

// Folder parent created.

}

if ( is_writable($folderParent) ) {

// Folder parent is writable.

if ( mkdir($folder, 0777, true) ) {

// Folder created.

return true;

}

// Failed to create folder.

}

// Folder parent is not writable.

return false;

}

/**

* This functions check recursive permissions and recursive existence parent folders,

* before creating a file/folder. To avoid the generation of errors/warnings.

*

* @return bool

*     true has been created or file exist and writable.

*     False file not exist and cannot be created.

*/

function createWritableFile($file)

{

// Check if conf file exist.

if (file_exists($file)) {

// check if conf file is writable.

return is_writable($file);

}

// Check if conf folder exist and try to create conf file.

if(createWritableFolder(dirname($file)) && ($handle = fopen($file, 'a'))) {

fclose($handle);

return true; // File conf created.

}

// Inaccessible conf file.

return false;

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值