【发布时间】:2013-12-02 02:21:30
【问题描述】:
我正在尝试使用 PHP SDK 将多个文件上传到 Google 驱动器。为此,我迭代地调用下面的函数并传递所需的参数:
function insertFile($driveService, $title, $description, $parentId, $fileUrl) {
global $header;
$file = new Google_DriveFile();
$file->setTitle($title);
$file->setDescription($description);
$mimeType= "application/vnd.google-apps.folder";
if ($fileUrl != null) {
$fileUrl = replaceSpaceWithHtmlCode($fileUrl);
$header = getUrlHeader($fileUrl);
$mimeType = $header['content-type'];
}
$file->setMimeType($mimeType);
$parent = new Google_ParentReference();
// Set the parent folder.
if ($parentId != null) {
$parent->setId($parentId);
$file->setParents(array($parent));
}
try {
$data = null;
if ($fileUrl != null) {
if (hasErrors($driveService, $fileUrl) == True) {
return null;
}
$data = file_get_contents($fileUrl);
}
$createdFile = $driveService->files->insert($file, array(
'data' => $data,
'mimeType' => $mimeType,
));
return $createdFile;
} catch (Exception $e) {
echo "Error: 12";
return null;
}
}
我在 Google App Engine 上运行这个应用程序。
但是,我无法上传我传递给它的所有文件。例如,如果我传递大约 12-15 个文件,则只有 10-11 个文件被上传,有时所有文件都被上传,即使所有参数都正确。当它无法创建文件时,我发现了异常,这表示它无法为未上传的文件创建文件。我在应用引擎的日志中没有看到任何警告或错误。
我错过了什么吗?有人可以指出我应该在哪里更正此问题并使其足够可靠以上传给它的所有文件吗?
我尝试上传 30 个文件时收到的 HTTP 响应是这样的:
PHP Fatal error: The request was aborted because it exceeded the maximum execution time
【问题讨论】:
标签: google-app-engine file-upload google-drive-api