// 你想复制虚拟文件或发送虚拟文件
// 即使发送超过 4GB 的文件并写入,也不需要使用 FSEEK,它受 PHP_INT_MAX 的限制,可以在 32 位或 64 位系统上运行
// fwrite 和 fread 没有指针位置限制
<?php
$gfz = filesize_dir("d:\\starwars.mkv"); echo 'Z:',$gfz,PHP_EOL;
$fz = fopen('d:\\test2.mkv', 'wb');
$fp = fopen('d:\\starwars.mkv', 'rb');
echo PHP_EOL;
$a = (float) 0;
while(($l=fread($fp, 65536))) {
fwrite($fz, $l);
if(($a+=65536)%5) echo "\r", '>', $a, ' : ' , $gfz;
}
fclose($fp);
fclose($fz);
function filesize_dir($file) {
exec('dir ' . $file, $inf);
$size_raw = $inf[6];
$size_exp = explode(" ",$size_raw);
$size_ext = $size_exp[19];
$size_int = (float) str_replace(chr(255), '', $size_ext);
return $size_int;
}
?>