本文整理汇总了PHP中dir::_do_mkdir方法的典型用法代码示例。如果您正苦于以下问题:PHP dir::_do_mkdir方法的具体用法?PHP dir::_do_mkdir怎么用?PHP dir::_do_mkdir使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类dir
的用法示例。
在下文中一共展示了dir::_do_mkdir方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: mkdir
function mkdir($dir, $perm, $parents = true)
{
$dir = dir::clean_path($dir);
if (!$parents) {
return dir::_do_mkdir($dir, $perm);
}
$separator = dir::separator();
$dir_elements = dir::explode_path($dir);
if (count($dir_elements) == 0) {
return true;
}
$current_dir = $dir_elements[0];
if (!dir::_do_mkdir($current_dir, $perm)) {
return false;
}
for ($i = 1; $i < count($dir_elements); ++$i) {
$dir_element = $dir_elements[$i];
$current_dir .= $separator . $dir_element;
if (!dir::_do_mkdir($current_dir, $perm)) {
return false;
}
}
return true;
}
示例2: cp
function cp($src, $dest, $as_child = false, $exclude_regex = '', $include_hidden = false)
{
$src = dir::clean_path($src);
$dest = dir::clean_path($dest);
if (!is_dir($src)) {
debug::write_error('no such a directory', __FILE__ . ' : ' . __LINE__ . ' : ' . __FUNCTION__, array('dir' => $src));
return false;
}
if (!dir::mkdir($dest)) {
return false;
}
$separator = dir::separator();
if ($as_child) {
$separator_regex = preg_quote($separator);
if (preg_match("#^.+{$separator_regex}([^{$separator_regex}]+)\$#", $src, $matches)) {
dir::_do_mkdir($dest . $separator . $matches[1], 0777);
$dest .= $separator . $matches[1];
} else {
return false;
}
//???
}
$items = dir::find_subitems($src, 'df', $exclude_regex, false, $include_hidden);
$total_items = $items;
while (count($items) > 0) {
$current_items = $items;
$items = array();
foreach ($current_items as $item) {
$full_path = $src . $separator . $item;
if (is_file($full_path)) {
copy($full_path, $dest . $separator . $item);
} elseif (is_dir($full_path)) {
dir::_do_mkdir($dest . $separator . $item, 0777);
$new_items = dir::find_subitems($full_path, 'df', $exclude_regex, $item, $include_hidden);
$items = array_merge($items, $new_items);
$total_items = array_merge($total_items, $new_items);
unset($new_items);
}
}
}
if ($total_items) {
clearstatcache();
}
return $total_items;
}