public function uploadFile(\Filehosting\File $file, $filePostData, $token) { $file->setOriginalFileName($filePostData['name']); $extension = pathinfo($filePostData['name'], PATHINFO_EXTENSION); $name = $filePostData['name']; if (!in_array($extension, $this->safeExtensions)) { $name = $filePostData['name'] . ".txt"; } $file->setFileName($name); $file->setToken($token); $file->setUploadtime(time()); $file->setSize($filePostData['size']); $file->setComment(''); $this->filesMapper->beginTransaction(); $file->setId($this->filesMapper->addFile($file)); $tmpName = $filePostData['tmp_name']; echo $extension; if ($this->saveFile($tmpName, $file)) { $this->filesMapper->commit(); } else { $this->filesMapper->rollBack(); throw new Exception("Error occured during file uploading", 1); } }