<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// 示例程序:演示fwrite函数实现文件内容追加</span></span><span>
</span><span><span class="hljs-variable">$filename</span></span><span> = </span><span><span class="hljs-string">"example.txt"</span></span><span>;
</span><span><span class="hljs-variable">$content</span></span><span> = </span><span><span class="hljs-string">"这是新追加的一行内容。"</span></span><span> . PHP_EOL;
</span><span><span class="hljs-comment">// 使用a模式(追加模式)打开文件</span></span><span>
</span><span><span class="hljs-variable">$file</span></span><span> = </span><span><span class="hljs-title function_ invoke__">fopen</span></span><span>(</span><span><span class="hljs-variable">$filename</span></span><span>, </span><span><span class="hljs-string">"a"</span></span><span>);
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-variable">$file</span></span><span>) {
</span><span><span class="hljs-title function_ invoke__">fwrite</span></span><span>(</span><span><span class="hljs-variable">$file</span></span><span>, </span><span><span class="hljs-variable">$content</span></span><span>);
</span><span><span class="hljs-title function_ invoke__">fclose</span></span><span>(</span><span><span class="hljs-variable">$file</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"内容已成功追加到文件中!"</span></span><span>;
} </span><span><span class="hljs-keyword">else</span></span><span> {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"无法打开文件!"</span></span><span>;
}
</span><span><span class="hljs-meta">?></span></span><span>
------------------------------------------------------------
</span><span><span class="hljs-comment"># PHP中如何使用fwrite函数实现文件内容追加?操作方法及代码示例</span></span><span>
在日常的PHP开发中,经常会遇到需要向文件中写入数据的场景。如果希望不覆盖原有的文件内容,而是将新内容追加到文件末尾,可以使用`</span><span><span class="hljs-title function_ invoke__">fwrite</span></span><span>()`函数配合追加模式来实现。
</span><span><span class="hljs-comment">## 一、fwrite函数简介</span></span><span>
`</span><span><span class="hljs-title function_ invoke__">fwrite</span></span><span>()`是PHP内置的文件操作函数,用于向已打开的文件写入内容。其基本语法为:
```php
</span><span><span class="hljs-title function_ invoke__">fwrite</span></span><span>(resource </span><span><span class="hljs-variable">$handle</span></span><span>, </span><span><span class="hljs-keyword">string</span></span><span> </span><span><span class="hljs-variable">$string</span></span><span>, </span><span><span class="hljs-keyword">int</span></span><span> </span><span><span class="hljs-variable">$length</span></span><span> = ?): </span><span><span class="hljs-keyword">int</span></span><span>
</span></span>
:通過fopen()打開文件後返回的文件指針資源。
$string :要寫入的內容。
$length (可選):指定寫入的最大字節數,如果省略則默認寫入全部內容。
函數返回寫入的字節數,失敗時返回false 。
實現“追加”寫入,關鍵在於fopen()函數的打開模式:
"w" :寫入模式,會清空原文件內容。
"a" :追加模式,文件指針指向文件末尾,不會覆蓋原內容。
"a+" :追加讀寫模式,允許同時讀寫,寫入時同樣追加到末尾。
因此,如果需要保留文件原有內容並在末尾繼續寫入,應選擇"a"或"a+"模式。
下面的示例演示如何將文本追加到文件example.txt中:
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-variable">$filename</span></span><span> = </span><span><span class="hljs-string">"example.txt"</span></span><span>;
</span><span><span class="hljs-variable">$content</span></span><span> = </span><span><span class="hljs-string">"這是新追加的一行內容。"</span></span><span> . PHP_EOL;
</span><span><span class="hljs-comment">// 以追加模式打開文件</span></span><span>
</span><span><span class="hljs-variable">$file</span></span><span> = </span><span><span class="hljs-title function_ invoke__">fopen</span></span><span>(</span><span><span class="hljs-variable">$filename</span></span><span>, </span><span><span class="hljs-string">"a"</span></span><span>);
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-variable">$file</span></span><span>) {
</span><span><span class="hljs-title function_ invoke__">fwrite</span></span><span>(</span><span><span class="hljs-variable">$file</span></span><span>, </span><span><span class="hljs-variable">$content</span></span><span>);
</span><span><span class="hljs-title function_ invoke__">fclose</span></span><span>(</span><span><span class="hljs-variable">$file</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"內容已成功追加到文件中!"</span></span><span>;
} </span><span><span class="hljs-keyword">else</span></span><span> {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"無法打開文件!"</span></span><span>;
}
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>執行後,如果example.txt原本已有內容,新內容會被添加到文件末尾,不會覆蓋之前的內容。
文件權限:確保文件具有寫入權限,否則可能寫入失敗。
換行處理:如需多行追加,可使用PHP_EOL來自動添加換行符。
文件關閉:操作完成後務必調用fclose()釋放資源,避免文件句柄佔用。
在PHP中,通過fopen()的"a"或"a+"模式結合fwrite()函數,即可輕鬆實現文件內容的追加操作。這種方法既能保留原有內容,又能靈活擴展文件,非常適合日誌記錄、數據積累等場景。
<span></span>