Maison >développement back-end >tutoriel php >Explication détaillée des exemples de fractionnement et de fusion de fichiers de transfert de reprise de point d'arrêt PHP
Cet article présente principalement en détail la segmentation et la fusion des fichiers du transfert de reprise de point d'arrêt PHP. Il a une certaine valeur de référence. Les amis intéressés peuvent se référer à
PHP pour implémenter le transfert de reprise de point d'arrêt. fichier en plusieurs petits fichiers, puis téléchargez-les individuellement . Fusionner après transmission.
│ merge.php – script de fusion de fichiers
│ merge.zip – fichier fusionné
│ socket.zip – fichier qui doit être divisé
│ divisé. php – Script de fichier divisé
│
└─split – Répertoire de petits fichiers divisés
Ce qui suit est le code source
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);
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!