<?php// 读写大二进制文件,不必申请很大内存// 只有读取到内容才创建文件// 保证目录可写function fetch_big_file($src_path, $dst_path){ if (!$fp_src = fopen ($src_path, "rb")) return false; $write_file_open = false; do { ++ $count; $data = fread($fp_src, 8192); if (!$data) { break; } else if ( !$write_file_open ) { // 第一次读取文件,并且有内容,才创建文件 $fp_dst = fopen($dst_path, "wb"); $write_file_open = true; fwrite($fp_dst, $data); } // 写入 else { fwrite($fp_dst, $data); } } while(true); fclose ($fp_src); fclose ($fp_dst); return true;}?>