php fputs函数用法,php fputs()(fwrite别名)函数使用方法和实例介绍

在PHP中,可以使用fwrite()和fputs()函数向文件中写入数据。fputs()函数是fwrite()函数的别名,它们的用法相同。fputs()函数接受一个文件源和一个字符串,然后把字符串写入到文件中。fwrite()函数也以相同的方式工作:

int fwrite ( resource handle, string string [ , int length ] ) ;

int fputs( resource handle, string string [ , int length ] ) ;

说明:把string的内容写入到文件指针handle中。如果指定了写入的长度length,当写入了length个字节,或者在string的长度小于length的情况下写完了string时,则停止写入。函数的返回值为写入的字节数,出现错误时,返回false。

写入到文件相当简单。下面代码使用fwrite()写入到文件。然后,我们使用fputs()把另一个字符串添加到同一个文件。

$filename = "test.txt";

echo "

Writing to ".$filename." ...

";

$fp = fopen($filename, "w") or die("Couldn't open $filename");

fwrite($fp, "Hello world\n");

fclose($fp);

echo "

Appending to ".$filename." ...

";

$fp = fopen($filename, "a") or die("Couldn't open $filename");

fputs($fp, "And another thing\n");

fclose($fp);

?>

当我们从Web浏览器运行这个脚本,屏幕的输出是:

Writing to test.txt ...

Appending to test.txt ...

如果打开test.txt文件或者使用readlines.php来读取其内容,你将会发现文件现在包含:

Hello world

And another thing

php fputs换行写入的问题

我们在使用fwrite写入文件时,新手会遇到一个最常见但又必须解决的问题,那就是换行写入。

在文件中中通过字符序列\n表示换行符,表示文件中一行的末尾。当需要一次输入或输出一行信息时,请记住这一点。不同的操作系统具有不同的结束符号,基于UNIX的系统使用“\n”作为行结束字符,基于Windows系统使用“\r\n”作为行结束字符,基于Macintosh的系统使用“\r”作为行结束字符。当要写入一个文本文件并想插入一个新行时,需要使用相应操作系统的行结束符号。

php的换行符我们都知道:\n ,回车符:\r,在需要换行时,通常是用“\r\n”这个组合。但是为什么我们在使用fwrite写入文件时\n换行符不起作用呢。我们先看下面这个例子:

$filename = 'file.txt';

$word = '你好!\r\n欢迎来到www.manongjc.com';

$fh = fopen($filename, "a"); //w从开头写入 a追加写入

echo fwrite($fh, $word);

fclose($fh);

?>

$word的字符串内加上了回车换行符“\r\n”,但是输出结果并不是预期,这个回车换行符“\r\n”并没有被解析为换行符,而是直接被当作一个字符输出来了。

为什么会出现这样的情况呢?经研究,原来是单双引号惹的祸!我们把$word定义字符串的单引号“'”换为双引号“"”就可以了。正确的写法如下:

$filename = 'file.txt';

$word = "你好!\r\n欢迎来到www.manongjc.com";

$fh = fopen($filename, "a"); //w从开头写入 a追加写入

echo fwrite($fh, $word);

fclose($fh);

?>

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值