免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 7018 | 回复: 7
打印 上一主题 下一主题

在php文件操作中如何实现在文件里一行一行写记录! [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2003-05-25 21:27 |只看该作者 |倒序浏览
在文件的读写操作对某一行的操作是很有用的!
但是,在php文件操作函数中好像没有对行操作的函数!
fgets(),fputs(),fseek(int fp, int offset);好像都是字符的操作。
虽然我用这些函数编过文本型的计数器。但只是单行的操作!
用实现多行操作不方便!有时文件指针位置搞不清。
string fgets(int fp, int length);当length>;这行中的字符数,那么会自动到下一行!
但是int fputs(int fp, string str, int [length]);却只会接着写,不会换行!

方法一:
我在想,如果在写入的str中包含换行符也可以实现!但是不知到怎样表示?
方法二:
还有是,用fgets(int fp, int length);先定位文件指针的位置(因为fgets函数有自动换行的功能!),在用fputs写入!
为什么在php文件操作函数中没有对行操作的函数!奇怪!!!!

-------------------------------
方法一:已经解决,05/25-22:33file.txt文件如下
                  line 1    (空行用于取出回车换行两个符。)
aaaaa         line 2
bbbbb        line 3
ccccccc        line 4

$fp=fopen("file.txt","r+";
  rewind($fp);//指针移到文件头
  $enter=fgets($fp,3);//取出回车换行两个符。

虽然回车换行是特殊字符,看不见的。
其实应该用ASCII码可的表示出但是我好像找不到有关的函数。
只好用上面的方法读出回车换行符。
如果那位知道请指点!!!


-------------------------------

  



代码如下:
<?
//---------------------------
//            图片计数器 version 1.0                  -
//            arthor :baorongabc                     -
//---------------------------

$counter_file="counter.txt";

function rw_counterfile()
{
$fp=fopen("code/php/jsq/counter.txt","r+";
if($fp==NULL) echo "文件处理出错";
  rewind($fp);//指针移到文件头
  $num=fgets($fp,7);//读出6字符串
  rewind($fp);//指针移到文件头
  fputs($fp, $num+1, 6);//写入##个字符
  rewind($fp);//
  $num=fgets($fp,23);//读出字符串
fclose($fp);
return $num;
}

  //---------------------------------------------------
function disp_pic($num)//把文本的数字转换图象的数子
{ //$i=1;
   $my_string=(string)$num;//把文本的数字转换图象的数子
  for($i=0;$i<strlen($my_string);$i++)
  {
  $pic=$pic.'<img src="number_images/counter'.substr($my_string,$i,1).'.gif" width="17" height="25">;';//把文本的数字转换图象的数字
  }
  return $pic;
}
//---------------------------------------------

  $num=rw_counterfile();
  //$pic=disp_pic($num);
//echo "该网站第".$pic."次被访问";//图形数字出错
echo $num;//纯数字出错
?>;

论坛徽章:
0
2 [报告]
发表于 2003-05-26 20:53 |只看该作者

在php文件操作中如何实现在文件里一行一行写记录!

没人知道吗?

论坛徽章:
0
3 [报告]
发表于 2003-05-26 21:26 |只看该作者

在php文件操作中如何实现在文件里一行一行写记录!

[quote]原帖由 "baorongabc"]没人知道吗?[/quote 发表:

加一个\n

论坛徽章:
0
4 [报告]
发表于 2003-05-27 08:11 |只看该作者

在php文件操作中如何实现在文件里一行一行写记录!

换行符本身就有好几种,windows下和unix下的都不一样。

论坛徽章:
0
5 [报告]
发表于 2003-05-27 08:20 |只看该作者

在php文件操作中如何实现在文件里一行一行写记录!

你的计数器为何要多行?多用户使用?

论坛徽章:
0
6 [报告]
发表于 2003-05-29 15:31 |只看该作者

在php文件操作中如何实现在文件里一行一行写记录!

fgets(fp,length)当length>;该行字符数时只会读取该行而不会读到下一行去,我就是这样用的,绝对没有问题.
而且还可以用file(),把所有行读到一个数组变量中.

换行问题在你要写的字符串后加一个\n就行了,本来fputs()就不是一次写一行,你可以多次写一行或是一次写多行嘛.

论坛徽章:
0
7 [报告]
发表于 2003-06-05 08:04 |只看该作者

在php文件操作中如何实现在文件里一行一行写记录!

snowall:
你好!你说的我都知道,并实际是这样应用的,只是觉php为什么没用   一次写一行的函数。上面我早就做了详细阐述。谢谢!     

论坛徽章:
0
8 [报告]
发表于 2003-06-05 13:41 |只看该作者

在php文件操作中如何实现在文件里一行一行写记录!

去看看file($filename); 这个函数的作用吧!!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP