storageFactory = $storageFactory; $this->mediaDirectory = $directory; } /** * Synchronize file * * @param string $relativeFileName * @return void * @throws \LogicException */ public function synchronize($relativeFileName) { /** @var $storage Database */ $storage = $this->storageFactory->create(); try { $storage->loadByFilename($relativeFileName); } catch (\Exception $e) { } if ($storage->getId()) { /** @var WriteInterface $file */ $file = $this->mediaDirectory->openFile($relativeFileName, 'w'); try { $file->lock(); $file->write($storage->getContent()); $file->unlock(); $file->close(); } catch (FileSystemException $e) { $file->close(); } } } }