protected function copyFile(string $from, string $to, string $filename) : bool
{
$acc = '';
$exploded = \explode(DIRECTORY_SEPARATOR, \trim(\dirname($to . DIRECTORY_SEPARATOR . $filename), DIRECTORY_SEPARATOR));
foreach ($exploded as $piece) {
$acc .= DIRECTORY_SEPARATOR . $piece;
if (!\is_dir($acc)) {
\mkdir($acc, 0755);
}
}
return \copy($from . DIRECTORY_SEPARATOR . $filename, $to . DIRECTORY_SEPARATOR . $filename);
}