![](/img/trans.png)
[英]Php-opencloud Object Storage download file, GuzzleStream, how to>
[英]php-opencloud openstack download image but unable to save it in a local file
使用 php-opencloud,我設法連接以觸發我的圖像下載。 大文件(20、30 或 50 GB)。
按照文檔,與
$image = $service->getImage($image_id);
$stream = $image->downloadData();
我可以看到 Psr7 正在將請求正文下載到臨時文件/tmp/php...
但我根本不知道如何重定向數據以將它們存儲在持久性本地文件中。
使用 fopen, fwrite 我遇到了 memory 耗盡和
$fp = fopen( $local_file, 'w' );
stream_copy_to_stream( $image->downloadData(), $fp );
不會觸發錯誤,但 $local_file 最后仍為 0 字節。
我怎樣才能做到這一點?
我嘗試了幾個小時,但我知道這很愚蠢:
while( !$stream->eof() ) {
$buffer = $stream->read( 4096 );
fwrite( $fp, $buffer );
}
fclose( $fp );
運行良好
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.