/** * ftruncate() wrapper * * @param integer $new_size New size * * @return boolean */ public function stream_truncate($new_size) { $this->downloadFile(); $this->fileBody = substr($this->fileBody, 0, $new_size); $this->filePosition = min($this->filePosition, $new_size); $this->file = $this->file->getId() ? static::$service->files->update($this->file->getId(), $this->file, array('data' => $this->fileBody)) : static::$service->files->insert($this->file, array('data' => $this->fileBody, 'mimeType' => $this->detectMimetype($this->filePath))); return true; }
/** * Get download url. * * @param Google_Service_Drive_DriveFile $file * * @return string|false */ protected function _gd_getDownloadUrl($file) { if (strpos($file->mimeType, 'application/vnd.google-apps') !== 0) { return 'https://www.googleapis.com/drive/v3/files/' . $file->getId() . '?alt=media'; } else { $mimeMap = $this->options['appsExportMap']; if (isset($mimeMap[$file->getMimeType()])) { $mime = $mimeMap[$file->getMimeType()]; } else { $mime = $mimeMap['default']; } $mime = rawurlencode($mime); return 'https://www.googleapis.com/drive/v3/files/' . $file->getId() . '/export?mimeType=' . $mime; } return false; }
/** * Get Files in a folder * @param \Google_Service_Drive_DriveFile $folder * @return \Google_Service_Drive_FileList */ public function getFilesInFolder(\Google_Service_Drive_DriveFile $folder) { $query = 'trashed = false and \'' . $folder->getId() . '\' in parents'; $fileList = $this->service->files->listFiles(array('q' => $query)); return $fileList; }