我正在尝试从文件夹中复制文件。
我有这个功能:
private function rec_copy ($source, $dest) {
foreach (
$iterator = new \RecursiveIteratorIterator(
new \RecursiveDirectoryIterator($source, \RecursiveDirectoryIterator::SKIP_DOTS),
\RecursiveIteratorIterator::SELF_FIRST) as $item
) {
if ($item->isDir()) {
mkdir($dest . DIRECTORY_SEPARATOR . $iterator->getSubPathName());
} else {
copy($item, $dest . DIRECTORY_SEPARATOR . $iterator->getSubPathName());
}
}
}
此功能与此功能完美配合:
protected function copy_translation($directory,$value)
{
$directorio = $directory;
$newfolder = '/var/www/vhosts/something/modules/'.$value;
$newfolder_translation = $newfolder.'/translations/';
mkdir($newfolder);
mkdir($newfolder_translation);
$this->rec_copy( $directorio,$newfolder_translation);
}
然而,当我尝试使用这个时失败了:
public function otherfunction($language){
foreach ($this->list as $key => $value){
$directory = '/var/www/vhosts/something/modules/'.$value.'/translations/';
if (is_dir($directory)){
$source = $directory.'de/';
$destination = $directory . $language . '/';
mkdir($destination);
$this->rec_copy($source,$destination);
}
}
}
他们都在同一个班级。函数otherfunction
实际上创建了mkdir($destination)
的目录,因此文件夹的路径和权限不会成为问题。
日志中没有任何内容,也没有错误显示。如果我在第三个函数中执行$this->rec_copy($source,$destination);
,它会显示"商店离线"如上所述,第二次正常工作。
我正在使用氧化物4.9.7如果这有帮助,但平台本身似乎不是我的问题。