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