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);
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持幫客之家。