

### 前提・実現したいこと

PHPで、外部ファイルのmp4のURLを複数取得し、ループさせ、１つずつダウンロードしたい。

### 発生している問題・エラーメッセージ

samp;e1.mp4 sample2.mp4 sample3.mp4とダウンロードされるはずが  
sample1.mp4だけがダウンロードされ、しかもファイルサイズが巨大になる。(２～以降の分も入っている？)  
そして、その動画も壊れているようで再生できない。

些細なことでもお分かりの方がいましたら、助かります。

### 該当のソースコード

[code]

    <?php
    $c = 1;
    foreach( $urls as $url){
        $header = get_headers($url, 1);
        mb_http_output("pass");
        header("Cache-Control: public");
        header("Pragma: public");
        header('Content-Type: application/octet-stream');
        header('Content-Length: '.$header['Content-Length']);
        header('Content-disposition: attachment; filename="sample'.$c.'.mp4"');
        $c = $c + 1; 
        $fp = fopen($url, 'rb');
        while(!feof($fp)) {
            $buf = fread($fp, 1048576);
            echo $buf;
            ob_flush();
            flush();
        }
        fclose($fp);  
    }
    ?>
    
[/code]

### 試したこと

ループ処理にせず、単一のURLだけ指定するとうまくダウンロードでき、動画も再生できる。  
URLは正しく取得できていることはログで確認済みです。

### 補足情報（FW/ツールのバージョンなど）

php7です。  
linux環境です。


CC BY-SA 4.0
2018-08-29T10:43:09.853
47913
2018-10-13T16:28:55.483
2018-08-29T11:03:59.307
3060
29910
question
php
外部mp4ファイル(複数)のPHPによるダウンロードがうまく出来ない