我们移动了很多大文件,这项工作完美无缺,因为这是在一个实例中完成而不复制文件。 (只是移动指针)
但有时我们需要从文件系统中的多个位置访问同一个文件,今天我们复制文件但是这需要很长时间并且存储消耗,这是预期的,因为文件被复制到磁盘上的另一个位置。所以我们不能抱怨这个:)
但是在我们的工作流程中,我们实际上不必拥有多个文件,指向同一文件的多个指针就足够了。因此,硬链接模型是我们的完美选择。如果可以更改elfinder中复制功能的行为,这将非常有用,有谁知道是否可行。 ? :)
答案 0 :(得分:0)
通过扩展elFinderVolumeLocalFileSystem类可以实现。
class elFinderVolumeMyLocalFileSystem extends elFinderVolumeLocalFileSystem
{
protected function _copy($source, $targetDir, $name) {
$target = $this->_joinPath($targetDir, $name);
if (! $ret = link($source, $target)) {
return parent::_copy($source, $targetDir, $name);
}
return $ret;
}
}
$opts = array(
'locale' => '',
'roots' => array(
array(
'driver' => 'MyLocalFileSystem',
'path' => '/path/to/files/',
'URL' => 'http://localhost/to/files/'
)
)
);
// run elFinder
$connector = new elFinderConnector(new elFinder($opts));
$connector->run();