php斷點續傳之檔案分割合并執行個體詳解

來源:互聯網
上載者:User
這篇文章主要為大家詳細介紹了php斷點續傳之檔案分割合并,具有一定的參考價值,感興趣的小夥伴們可以參考一下

php實現斷點續傳,就需要把大檔案分割成多個小檔案,然後單個上傳。傳完後在合并。

│ merge.php –合并檔案指令碼
│ merge.zip –合并後檔案
│ socket.zip –需要分割的檔案
│ split.php –分割檔案指令碼

└─split –分割後小檔案目錄

下面是源碼

split.php

<?php$fp = fopen("socket.zip", "rb");$filesize = 10;$i = 0;$no = 1;while(!feof($fp)){  $file = fread($fp, $filesize);  $fp2 = fopen("./split/socket.port".sprintf("%04d",$no).".".$i."-".($i+$filesize).".tmp", "wb");  fwrite($fp2, $file, $filesize);  fclose($fp2);  $i+=$filesize+1;$no++;}fclose($fp);

merge.php

<?php$filelist = glob('./split/*socket*.tmp');$filesize = 10;//print_r($filelist);$mergeFileName = 'merg.zip';unlink($mergeFileName);  $fp2 = fopen($mergeFileName,"w+");foreach($filelist as $k => $v){  $fp = fopen($v, "rb");   $content = fread($fp, $filesize);   fwrite($fp2, $content, $filesize);   unset($content);   fclose($fp);   echo $k,"\n";}  fclose($fp2);

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.