本文整理匯總了PHP中FileCtl::_mkdirR方法的典型用法代碼示例。如果您正苦於以下問題:PHP FileCtl::_mkdirR方法的具體用法?PHP FileCtl::_mkdirR怎麽用?PHP FileCtl::_mkdirR使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類FileCtl
的用法示例。
在下文中一共展示了FileCtl::_mkdirR方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。
示例1: _mkdirR
/**
* mkdirR() の実処理を行う
*
* @access private
* @param integer $rtimes 再帰呼び出しされている現在回數
* @return boolean
*/
function _mkdirR($dir, $perm = null, $die = true, $rtimes = 0)
{
global $_conf;
$me = __CLASS__ . "::" . __FUNCTION__ . "()";
// 引數エラー
if (strlen($dir) == 0) {
trigger_error("{$me} cannot mkdir. no dirname", E_USER_WARNING);
$die and die('Error');
}
// 既にディレクトリが存在している時は、そのままでOK
if (is_dir($dir)) {
return true;
}
if (empty($perm)) {
$perm = empty($_conf['data_dir_perm']) ? 0707 : $_conf['data_dir_perm'];
}
$dir_limit = 50;
// 親階層を上る製限回數
// 再帰超過エラー
if ($rtimes > $dir_limit) {
trigger_error("{$me} cannot mkdir. ({$dir}) too match up dir! I'm very tired.", E_USER_WARNING);
$die and die('Error');
return false;
}
// 親から先に再帰実行
if (!FileCtl::_mkdirR(dirname($dir), $perm, $die, ++$rtimes)) {
$die and die('Error: FileCtl::_mkdirR()');
return false;
}
if (!mkdir($dir, $perm)) {
trigger_error("{$me} -> mkdir failed, {$dir}", E_USER_WARNING);
$die and die('Error: mkdir()');
return false;
}
chmod($dir, $perm);
return true;
}