コード例 #1
0
 protected function createNewFiles($file)
 {
     $uploadFiles = $this->getRequest()->getFiles()->toArray();
     $postData = $this->getRequest()->getPost()->toArray();
     if (isset($uploadFiles['sfartwork']) && count($uploadFiles['sfartwork'])) {
         if (!file_exists($this->fileUploadService->getUploadPath() . $file->getStorage() . '/VA_FILES/' . $file->getName())) {
             mkdir($this->fileUploadService->getUploadPath() . $file->getStorage() . '/VA_FILES/' . $file->getName() . '/');
         }
         foreach ($uploadFiles['sfartwork'] as $key => $uf) {
             $uFileType = array_shift($postData['sfartwork']);
             $uFile = new \FileUpload\Entity\File();
             $uFile->setFilePath($this->fileUploadService->getUploadPath() . $file->getStorage() . '/VA_FILES/' . $file->getName() . '/');
             $uFile->setFileName($uf['file']['name']);
             $uFile->setFileType($uFileType['file_type']);
             $uFile->setRelPath($this->fileUploadService->getUploadPath() . $file->getStorage() . '/' . $file->getName() . '/');
             if (file_exists($this->fileUploadService->getUploadPath() . $file->getStorage() . '/VA_FILES/' . $file->getName() . '/' . $uFile->getFileName())) {
                 $this->flashMessenger()->addMessage('Fehler: Die Datei ' . $uFile->getFileName() . ' konnte nicht geschrieben werden da sie bereits existiert. Bitte löschen Sie vor dem Upload die alte Datei und versuchen Sie es nochmal.');
                 return $this->redirect()->toRoute('sendefile', array('action' => 'editsendefile', 'id' => $file->getId()));
                 continue;
             }
             $relsult = rename($uf['file']['tmp_name'], $this->fileUploadService->getUploadPath() . $file->getStorage() . '/VA_FILES/' . $file->getName() . '/' . $uFile->getFileName());
             exec('chmod 666 "' . $this->fileUploadService->getUploadPath() . $file->getStorage() . '/VA_FILES/' . $file->getName() . '/' . $uFile->getFileName() . '"');
             $this->fileService->getDb()->persist($uFile);
             $this->fileService->getDb()->flush($uFile);
             $file->getArtwork()->add($uFile);
         }
     }
 }