public function addFile(\Filehosting\File $file) { $sth = $this->dbh->prepare("INSERT INTO files(filename, size, upload_time, comment, token, original_name)\n VALUES(:filename, :size, :upload_time, :comment, :token, :original_name)"); $sth->bindValue(":filename", $file->getFileName()); $sth->bindValue(":size", $file->getSize()); $sth->bindValue(":upload_time", date("Y-m-d H:i:s", $file->getUploadTime())); $sth->bindValue(":comment", $file->getComment()); $sth->bindValue(":token", $file->getToken()); $sth->bindValue(":original_name", $file->getOriginalName()); $sth->execute(); $id = $this->dbh->lastInsertId(); return $id; }
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); } }