读写大“二进制”文件,不必申请很大内存(fopen,fread,fwrite,fclose)
来源:互联网 发布:算法导论视频下载 编辑:程序博客网 时间:2024/06/05 20:22
<?php/** * 读写大二进制文件,不必申请很大内存 * 只有读取到内容才创建文件 * 保证目录可写 * * @param string $srcPath 源文件路径 * @param string $dstPath 目标文件路径 * @return bool */function fetch_big_file($srcPath, $dstPath){ set_time_limit(0); // 设置脚本执行时间无限长 if (!$fpSrc = fopen($srcPath, "rb")) { return false; } $isWriteFileOpen = false; // 写文件 是否已打开? do { $data = fread($fpSrc, 8192); // 每次读取 8*1024个字节 if (!$data) { break; } else if (!$isWriteFileOpen) { // 第一次读取文件,并且有内容,才创建文件 $fpDst = fopen($dstPath, "wb"); $isWriteFileOpen = true; fwrite($fpDst, $data); } else { // 写入 fwrite($fpDst, $data); } } while (true); fclose($fpSrc); fclose($fpDst); return true;}$srcPath = 'd:/PHP/data/eclipse-jee-kepler-R-win32-x86_64.pdf';$dstPath = 'Z:/reslibCovertingfiles/eclipse-jee-kepler-R-win32-x86_64.pdf';fetch_big_file($srcPath, $dstPath);echo 'success';
参考:
http://php.net/manual/zh/function.fread.php
- 本文来自:Linux教程网
0 0
- 读写大“二进制”文件,不必申请很大内存(fopen,fread,fwrite,fclose)
- PHP读写大“二进制”文件,不必申请很大内存
- fread,fwrite,fopen,fclose
- 关于标准C文件流读写问题:fopen,fread,fwrite,fclose的一些注意事项
- c库 文件操作----fopen fread fwrite fseek fclose
- 文件操作--标准I/O操作--fopen() fclose() fread() fwrite()
- 文件操作fopen, fclose, fread, fwrite, fseek, ftell
- C语言:文件函数 fopen(),fclose(),fwrite(),fread()
- C语言读写文件 -fopen、fread、fwrite
- 15:文件操作(C标准库函数)fopen/fclose/fread/fwrite/fseek/fprintf/fscanf
- fopen/fclose/fwrite/fread的使用
- fread,fwrite,fopen,fclose .fseek用法
- fseek rewind fopen fclose fread fwrite
- fread,fwrite,fopen,fclose ,fseek用法
- matlab之fopen,fread,fclose,fwrite
- C语言文件读写常识(fseek, ftell, fread, fwrite, fopen)
- fgetc()/fputc()/fgets()/fputs()/fread()/fwrite()/fopen()/fclose() 等C语言文件操作函数
- c文件操作之fopen、fclose、fread、fwrite及相关fseek、ftell、rewind例子
- Java中检测文件字符编码
- App store最新审核标准公布
- 并查集详解
- lua中的table函数库
- Number of 1 Bits
- 读写大“二进制”文件,不必申请很大内存(fopen,fread,fwrite,fclose)
- (转)linux中注册系统服务—service命令的原理通俗
- Android-Universal-Image-Loader 图片异步加载类库的使用
- IOS8解决获取位置坐标信息出错(kCLErrorDomain error 0)
- LeetCode之Add Two Numbers
- Android SDK 更新不成功问题解决
- C# 引用类型
- ASP.NET网站常用的加密MD5,DES
- JavaFx TableView个人体会