<?
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 ;
}
?>
// 读写大二进制文件,不必申请很大内存
// 只有读取到内容才创建文件
// 保证目录可写
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 ;
}
?>