【发布时间】:2020-05-29 23:13:32
【问题描述】:
我正在开发一个程序,该程序允许用户使用 HTML 表单选择文件,然后该程序会将所述文件上传到 Google Drive 并与某个其他用户共享。我已经能够在 Google Drive 中创建一个文件然后分享它;但是一旦我尝试上传一个文件,一切都走下坡路了。
这很奇怪,因为我认为上传文件的代码是正确的,所以问题必须在于我如何将文件从 HTML 表单获取到 PHP 文件。我试图回显 $_FILES['myfile']['name'] 没有任何反应,这在一定程度上证实了我的怀疑。
我将在下面上传两个代码 sn-ps,但为了简洁起见,我将省略所有 Google Drive api 身份验证,因为它有效。
index.php
<form action="../Next.php" method="POST" enctype="multipart/form-data">
<section class="file">
<span>Please select the file to be uploaded </span>
<br>
<label for="myfile">Select a file:</label>
<input type="file" name="myfile" required >
</section>
<section class="submission">
<input type="submit" value="Submit">
</section>
</form>
Next.php
$myfile=$_FILES['myfile']['tmp_name'];
$type=mime_content_type($myfile);
$drive = new Google_Service_Drive($client);
$file = new Google_Service_Drive_DriveFile();
$file->setTitle('Test');
$file->setDescription('Test');
$file->setMimeType($type);
$data = file_get_contents($myfile);
$uploadedFile = $service->files->insert($file, array(
'data' => $data,
'mimeType' => $type,
));
请记住,我已经省略了身份验证码,因为我知道这是可行的。
我不明白为什么这不起作用,从我通过浏览互联网收集到的信息来看,代码是正确的。我认为这个问题可能与 $_FILES['myfile'] 数组有关,但从所有在线文档来看,它似乎也是正确的。
【问题讨论】:
标签: php forms google-drive-api