2017-04-07 189 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

将文件远程服务器移动到谷歌云存储需要更少的时间,因此您可以使用上述代码。我想测试

相关问题