PHP 大文件上传,支持断点续传,求具体方案、源码或者文件上传插件

PHP 大文件上传,支持断点续传,求具体方案、源码或者文件上传插件,第1张

HTTP协议里, 对断点下载有支持.

断点上传单纯靠PHP 是做不了的.

因为普通的浏览器端没那功能.(上传的时候 还是会整个文件编码发送)

想实现的话 , 客户端需要插件了,

客户端可以使用flex实现. 服务端, PHP可以写个webservice 接受文件.

是实现断点续传,就需要把大文件分割成多个小文件,然后单个上传。传完后在合并。

│ 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)


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/7996763.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-12
下一篇 2023-04-12

发表评论

登录后才能评论

评论列表(0条)

保存