递归复制功能与函数一起使用,但不会与另一个函数

时间:2016-05-18 13:00:25

标签: php linux oxid

我正在尝试从文件夹中复制文件。

我有这个功能:

   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如果这有帮助,但平台本身似乎不是我的问题。

0 个答案:

没有答案