CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Web 开发 >  PHP

问一下关于文件操作的几个问题(fopen,fseek,fputs,fgets,fgetc,feof,rewind,ftell)

楼主surfchen(冲浪)2004-12-04 18:19:10 在 Web 开发 / PHP 提问

1)->  
  如何把新文本插入到已存在文件的文本开头?  
   
  我用fopen("$file_path","r+b")的时候,文件的第一行会被新插入的文本取代...  
   
  我不想把整个文件的内容都读出,所以结合file或get出所有文本的方法就不说了......  
  现在我的方法是把第一行读出,在新加的内容后加入第一行的内容,然后写入...  
   
  是否有其他方法呢??  
   
  2)->另:  
  大家是如何读取文件的某一行的??例如读取第5行..我想得到一种最优的方法... 问题点数:100、回复次数:9Top

1 楼uGain(uGain.org)回复于 2004-12-04 20:00:17 得分 20

fopen($file,   'a+');  
  文件的第一行会被新插入的文本取代Top

2 楼surfchen(冲浪)回复于 2004-12-04 20:57:29 得分 0

改一句话  
  1)->  
  如何把新文本插入到已存在文件的文本开头?(要求插入的新文本不取代原来任何文本)Top

3 楼syre(神仙)回复于 2004-12-05 09:55:50 得分 20

先把原来的都读出来  
  把新的写进去  
  再把原来的写进去  
  Top

4 楼leikaixin(星星男孩)回复于 2004-12-05 10:44:56 得分 20

请用Fgets()  
   
  Top

5 楼surfchen(冲浪)回复于 2004-12-05 18:37:25 得分 0

to   syre(神仙)    
   
  我不想把所有的都读出来....  
   
   
  但是我测试了一下,在数据很大的情况下,似乎file比fgets效率更高...不知道内存方面.....Top

6 楼syre(神仙)回复于 2004-12-06 15:06:42 得分 20

你是怎么做的呢?  
  如果你要读入全部文件的话  
  file是一次性读入的,对磁盘操作次数肯定比fgets少Top

7 楼xuzuning(唠叨)回复于 2004-12-06 15:28:20 得分 20

1、如何把新文本插入到已存在文件的文本开头?  
  必须将原内容先读出再写到新内容之后  
  插队总是要让后面的人挪一下位置的  
   
  2、大家是如何读取文件的某一行的??例如读取第5行..我想得到一种最优的方法...  
  构造索引文件Top

8 楼surfchen(冲浪)回复于 2004-12-06 16:28:52 得分 0

看来,每行数据量不是非常多的时候还是用file好...  
   
  to   唠叨:  
  不清楚如何构造Top

9 楼syre(神仙)回复于 2004-12-06 17:21:42 得分 0

就是  
  把每行开头的offset记录下来  
  以后读取的时候只要直接定位到那个位置就可以了Top

相关问题

  • fopen?
  • fopen???
  • 我在fopen一个53M MPEG-1的文件时,只读到1.2M就feof(fp)=TRUE
  • 为什么????用fopen打开一个空文件,文件指针并不是feof....
  • fopen on win2000sp2
  • fopen的问题
  • fgets()的问题
  • fopen的问题?
  • fopen出的错?
  • 请教关于fopen

关键词

  • 文本
  • 文件
  • 内容
  • fgets
  • 插入
  • 读取
  • fopen
  • 开头
  • 读出
  • 方法

得分解答快速导航

  • 帖主:surfchen
  • uGain
  • syre
  • leikaixin
  • syre
  • xuzuning

相关链接

  • Web开发类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo