2017-04-07 193 views
1

我想從遠程服務器上傳一個包含超過100,000個文件(超過30GB)的文件夾到Google雲端存儲。 在我有服務器上我無法安裝gsutil。 有沒有更好的方法來上傳文件?使用API​​,就是這樣。將文件夾上傳到Google雲端存儲

$files = scanDir::scan("../../system_flex/Faturas/Media/", false, true); 

$data = array(); 
foreach ($files as $file) { 
    $arquivo = str_replace("//", "/", str_replace("../../system_flex/Faturas/", "", str_replace("\\", "/", $file))); 
    $upload = $bucket->upload(
     fopen($file, 'r'), array('name' => $arquivo) 
    ); 
} 

這樣它會創建很多請求,速度很慢,有沒有其他方式可能使用PHP或某些程序?

+0

你想盡可能多線程。你和服務器之間的往返時間在這裏將是一件大事。老實說,它可能最終節省時間將它們全部捆綁到一個壓縮包中,將一個大文件放到GCS或GCE實例中,解壓縮它,然後使用gsutil。 –

+0

很酷,我打算上傳.tar文件並解壓縮,雲存儲中的unzip命令是什麼?我在我的電腦上使用gsutil,對吧? –

+1

您的服務器可以遠程訪問嗎?您可以使用[Transfer Service](https://cloud.google.com/storage/transfer/)嗎? – jterrace

回答

0

將文件遠程服務器移動到谷歌雲存儲需要更少的時間,因此您可以使用上述代碼。我想測試

相關問題