public function fileCopy($src, $dst, $overwrite = false)
{
if (rtrim($dst, '\\/') !== $dst) {
$dst .= basename($src);
}
$src = $this->alias->resolve($src);
$dst = $this->alias->resolve($dst);
if ($overwrite || !is_file($dst)) {
$this->_dirCreate(dirname($dst));
if (!copy($src, $dst)) {
throw new FileException('move `:src` to `:dst` failed: :last_error_message', ['src' => $src, 'dst' => $dst]);
}
}
}