2017-07-19 97 views
1

我想使用guzzle將文件以塊的形式上傳到URL端點。使用Guzzle將文件分塊上傳到URL端點PHP

我應該能夠提供Content-Range和Content-Length標題。

使用PHP,我知道我可以分割使用

define('CHUNK_SIZE', 1024*1024); // Size (in bytes) of chunk 

function readfile_chunked($filename, $retbytes = TRUE) { 
    $buffer = ''; 
    $cnt = 0; 
    $handle = fopen($filename, 'rb'); 

    if ($handle === false) { 
     return false; 
    } 

    while (!feof($handle)) { 
     $buffer = fread($handle, CHUNK_SIZE); 
     echo $buffer; 
     ob_flush(); 
     flush(); 

     if ($retbytes) { 
      $cnt += strlen($buffer); 
     } 
    } 

    $status = fclose($handle); 

    if ($retbytes && $status) { 
     return $cnt; // return num. bytes delivered like readfile() does. 
    } 

    return $status; 
} 

我如何實現使用狂飲發送組塊的文件,如果可能的話用狂飲流?

回答

0

只需使用multipart體型即可,因爲它的型號爲described in the documentation。 cURL然後在內部處理文件讀取,您不需要自己實現分塊讀取。所有必需的標題也將由Guzzle配置。