/** * Upload a file and save it in storage. * * @param UploadedFile $uploadedFile * @param string $directory * @return array */ static function upload(UploadedFile $uploadedFile, $directory) { $extension = $uploadedFile->getClientOriginalExtension(); if ($extension != '') { // get the filename $filename = $uploadedFile->getClientOriginalName(); // get the name of the file and the mime type $name = substr($filename, 0, strrpos($filename, '.')); $mime = $uploadedFile->getClientMimeType(); // clean up the filename $filename = FileHelper::serializeFilename($filename, true); // make sure the filename is unique $filename = FileHelper::incrementFilename($filename, $directory); // the full path to the file $filepath = $directory . $filename; // save new file to storage Storage::put($filepath, File::get($uploadedFile)); return array('name' => $name, 'mime' => $mime, 'filename' => $filename); } }