簡體   English   中英

php-opencloud openstack 下載圖像但無法將其保存在本地文件中

[英]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.

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