2017-09-20 14 views
2

指定されたコンテナからすべてのブロブをzipファイルとしてダウンロードします。 Azureからジップとして直接ダウンロードする方法はありますか?私のサーバーで処理する必要はありませんか?Azure PHP SDK:コンテナのすべてのブロブを1つのzipファイルにダウンロードします。

現在、私は以下のように考える:

file_put_contents("file_name", get_file_contents($blob_url));

私は自分のサーバー上のすべてのファイルを保存し、それらのzipファイルを作成し、ダウンロードするために強制されますされます。 。

答えて

1

Azureには、ブロブのバンドル用のzipファイルを生成する機能はありません。 Azureストレージはちょうど...ストレージです。あなたはあなたのブロブをphp sdk経由でダウンロードする必要があります(もしそうなら、api経由で直接ダウンロードする必要があります)。

コンテンツをzipする場合は、BLOBストレージに保存する前にコンテンツを圧縮する必要があります。

get_file_contents()はファイルI/Oで動作することが予想され、ブロブとやりとりする方法ではないため、コードはそのままでは機能しません。 //:

$getBlobResult = $blobClient->getBlob("<containername>", "<blobname>"); 
file_put_contents("<localfilename>", $getBlobResult->getContentStream()); 
+0

コードが '$ file_url =」httpsを以下のようになり、私は私のロジックとの作業でそれをやったところであなたの答え、 をありがとう:むしろ、あなたはこのような何かをしたいですmysite.blob.core.windows.net/container-name/ "と入力します。 $ blob_name;ファイル名を指定してください。 $ zip-> addFile($ local_server_file_path、$ prop_doc ['image_name']); ' –

+0

また、コードを試してみました。ありがとう –

関連する問題