使用Google Drive API v3和php通过html表单上传文件

问题描述 投票:0回答:2

我正在开发一个程序,该程序将允许用户使用HTML表单选择文件,然后该程序会将所述文件上传到Google云端硬盘,并与其他特定用户共享。我已经能够在Google云端硬盘中创建文件,然后共享它;但是,一旦我尝试uploading一个文件,一切都变得艰难了。

这很奇怪,因为我认为上载文件的代码是正确的,所以问题必须在于我如何将文件从HTML表单获取到PHP文件。我试图回显$ _FILES ['myfile'] ['name']没有任何反应,这一事实已经证实了我的怀疑。

[我将在下面上传两个代码段,但为了简洁起见,我将省略所有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']数组有关,但是从在线所有文档中来看,它似乎也是正确的。

我正在开发一个程序,该程序将允许用户使用HTML表单选择文件,然后该程序会将所述文件上传到Google云端硬盘,并与其他特定用户共享。我已经能够...

php forms google-drive-api
2个回答
0
投票

尝试添加多部分


0
投票

初始设置

© www.soinside.com 2019 - 2024. All rights reserved.