php fwrite换行

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php fwrite换行相关的知识,希望对你有一定的参考价值。

fwrite($fp,$_POST["mytitle"]."\n");这么写对么,怎么改啊~要实现换行

参考技术A $handle = fopen('test.txt', 'a+');
$contents = "这是第一行\r\n这是第二行"; // windows下换行是\r\n
fwrite($handle, $contents) || die('写入失败!');

PHP fwrite() 用于将大字符串写入文件

【中文标题】PHP fwrite() 用于将大字符串写入文件【英文标题】:PHP fwrite() for writing a large string to file 【发布时间】:2016-02-03 17:11:38 【问题描述】:

我必须将一个大字符串 10MB 写入文件,我正在使用这一行来实现:

fwrite($file, $content);

问题是:不是整个字符串都写入文件,并且限制在特定的限制范围内。

fwrite 总是返回 7933594

【问题讨论】:

【参考方案1】:

是的,fwrite 函数有长度限制,对于大文件,您可以将文件拆分成更小的部分,如下所示:

    $file   = fopen("file.json", "w");

    $pieces = str_split($content, 1024 * 4);
    foreach ($pieces as $piece) 
        fwrite($file, $piece, strlen($piece));
    

    fclose($file);

【讨论】:

【参考方案2】:

@Ayman Alkom 解决方案的另一种方式。

function fwrite_stream($fp, $string) 
    for ($written = 0; $written < strlen($string); $written += $fwrite) 
        $fwrite = fwrite($fp, substr($string, $written));
        if ($fwrite === false) 
            return $written;
        
    
    return $written;

这应该会带来更好的性能。

但是如果你使用这段代码来复制一个大文件,

Linux 命令

"cat file1.txt file2.txt > file.txt" 

窗口命令

"copy file1.txt+file1.txt file.txt"

是解决办法。

【讨论】:

以上是关于php fwrite换行的主要内容,如果未能解决你的问题,请参考以下文章

php: 怎么让写入的字符串自动换行(在文本里面)?用fwrite()写入

MATLAB fwrite 怎么换行

PHP 'fwrite' 不会使用变量

PHP - fwrite() 不写入套接字

C语言fwrite 结构体换行问题(初学C语言)

php socket 编程读写函数