php – 在Google云端硬盘中创建文件夹并插入文件

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了php – 在Google云端硬盘中创建文件夹并插入文件脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试在端硬盘中创建一个文件夹,并将一个(或多个)文件上传到该创建的文件夹.我使用下面的代码,但结果是文件夹和文件都放在我的驱动器的根目录中.

$client->setAccessToken($_SESSION['accessToken']);

//create folder
$folder_mime = "application/vnd.GOOGLE-apps.folder";
$folder_name = 'New Folder';

$service = new Google_DriveService($client);
$folder = new Google_DriveFile();

$folder->setTITle($folder_name);
$folder->setMimeTyPE($folder_mime);
$service->files->insert($folder);

//upload file
$file_name = $_FILES["uploaDFile"]["name"];
$file_mime = $_FILES["uploadFile"]["type"];
$file_path = $_FILES["uploadFile"]["tmp_name"];

$service = new Google_DriveService($client);
$file = new Google_DriveFile();

$file->setParents(array($folder_name));
$file->setTitle($file_name);
$file->setDescription('This is a '.$file_mime.' document');
$file->setMimeType($file_mime);
$service->files->insert(
    $file,array(
        'data' => file_get_contents($file_path)
    )
);

解决方法

感谢@pinoyyid,这是适合我的代码.

$client->setAccessToken($_SESSION['accessToken']);

//create folder
$folder_mime = "application/vnd.google-apps.folder";
$folder_name = 'New Folder';

$service = new Google_DriveService($client);
$folder = new Google_DriveFile();

$folder->setTitle($folder_name);
$folder->setMimeType($folder_mime);
$newFolder = $service->files->insert($folder);

$parentId  = $newFolder['id'];
//upload file
$file_name = $_FILES["uploadFile"]["name"];
$file_mime = $_FILES["uploadFile"]["type"];
$file_path = $_FILES["uploadFile"]["tmp_name"];

$service = new Google_DriveService($client);
$file = new Google_DriveFile();

if ($parentId != null) {
    $parent = new Google_ParentReference();
    $parent->setId($parentId);
    $file->setParents(array($parent));
}

$file->setTitle($file_name);
$file->setDescription('This is a '.$file_mime.' document');
$file->setMimeType($file_mime);
try {
return $service->files->insert(
    $file,array(
        'data' => file_get_contents($file_path)        
    )
);
} catch (Exception $e) {
PRint "An error occurred: " . $e->getMessage();
}

脚本宝典总结

以上是脚本宝典为你收集整理的php – 在Google云端硬盘中创建文件夹并插入文件全部内容,希望文章能够帮你解决php – 在Google云端硬盘中创建文件夹并插入文件所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。