3 回答
TA贡献1806条经验 获得超8个赞
如果仍未解决,那么...正如您提到的 $_FILES 为空,那么我建议查看项目中的文件位置。假设您index.php
在PROJECT->HOME->index.php
目录中,那么您Next.php
应该在PROJECT->Next.php
目录中。
你也必须给提交一个name=submit
。
在Next.php
测试中是否设置了任何一种形式
if(isset($_POST['submit'])){
print_r($_FILES['myfile']);
}
如果没有上传文件,请告诉我问题所在。
TA贡献1906条经验 获得超3个赞
初始设置
由于您的 HTML 文件规范,我假设您的项目结构如下:
project/
├── templates/
│ └── index.html
└── Next.php
因此,我将使用以下命令在项目文件夹中启动一个 php 简单的 http 服务器:php -S localhost:8000
方法
为了让它工作,你将不得不Next.php稍微调整你的代码。我建议使用最新的 Drive APi 版本 (v3)。v3 中没有方法insert(),但有create().
// Get the API client and construct the service object.
$client = getClient();
$service = new Google_Service_Drive($client);
$myfile=$_FILES['myfile']['tmp_name'];
$fileMetadata = new Google_Service_Drive_DriveFile(array(
'name' => "Test",
));
try{
$newFile = $service->files->create(
$fileMetadata,
array(
'data' => file_get_contents($myfile),
'mimeType' => mime_content_type($myfile),
'uploadType' => 'multipart'
)
);
} catch(Exception $e){
echo 'An error ocurred : ' . $e->getMessage();
}
TA贡献1850条经验 获得超11个赞
尝试添加多部分
$uploadedFile = $service->files->insert($file, array(
'data' => $data,
'mimeType' => $type,
'uploadType' => 'multipart'
));
- 3 回答
- 0 关注
- 117 浏览
添加回答
举报