簡體   English   中英

如果文件夾中不存在文件,請刪除文件夾 - Google Drive API

[英]Delete folder if no files exist within it - Google Drive API

我目前有 function:

function deleteFileUsingID($fileID) {
    $this->service->files->delete($fileID);
}

我將如何修改它,以便刪除文件后,如果該文件夾中不存在任何文件,它會刪除文件夾本身。

我相信你的目標如下。

  • 當特定文件夾中沒有文件時,您要刪除該文件夾。

在這種情況下,您可以使用驅動器 API 中的“文件:列表”的方法檢查文件是否在文件夾中。

修改后的腳本:

請將文件夾 ID 設置為$folderId = '###'; .

function deleteFileUsingID($fileID) {
    $this->service->files->delete($fileID);

    $folderId = '###';  // Please set the folder ID.
    $fileList = $this->service->files->listFiles(array("q" => "'{$folderId}' in parents"));
    if (count($fileList->getFiles()) == 0) {
        $this->service->files->delete($folderId);
    }
}

或者,當您想從$fileID檢索文件夾 ID 時,您還可以使用以下腳本。

function deleteFileUsingID($fileID) {
    $folderIds = $this->service->files->get($fileID, array("fields" => "parents"))->getParents();

    $this->service->files->delete($fileID);

    if (count($folderIds) > 0) {
        $folderId = $folderIds[0];
        $fileList = $this->service->files->listFiles(array("q" => "'{$folderId}' in parents"));
        if (count($fileList->getFiles()) == 0) {
            $this->service->files->delete($folderId);
        }
    }
}
  • 在這個修改后的腳本中,在$this->service->files->delete($fileID); 運行時,它使用“文件:列表”的方法檢查文件是否在文件夾中。 當文件夾中沒有文件時,該文件夾被刪除。

筆記:

  • 在這種情況下,文件夾被刪除。 所以請注意這一點。 我想推薦使用示例文件夾來測試腳本。

參考:

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM