[英]remove new line from txt file after insert value
我以這種方式從文件夾創建txt文件:
$fp = fopen("mylist.txt","rw+");
foreach(glob("folder/*.*") as $value){
fwrite($fp,$value."\n");
}
並在txt中創建每個項目,每行一個,但是它還在文件末尾添加換行符。
這是mylist.txt的內容:
foldelr/file1.mp3
folder/file2.mp3
(BLANK NEWLINE)
我試圖通過這種方式刪除txt文件末尾的空白換行符:
$filetxt = fopen("mylist.txt","r");
$rtrim = rtrim($filetxt, "\n");
$newfile = file_put_contents("newfile.txt", $rtrim);
但這是行不通的,因為在“ newfile.txt”中,我在最后一個文件名之后仍然有換行符空白。
我試圖轉換數組中的文件,使用“ array_diff()”刪除最后一行,但是失敗。 我也嘗試了該線程中的所有建議: 使用php從txt文件中刪除換行符,但未解決我的問題。
有誰能幫助我了解我所缺少或錯誤的內容嗎?
親切的問候
布魯斯
使用file_get_contents方法對我來說很好
$fp = fopen("mylist.txt","rw+");
foreach (glob("test/*.*") as $value) {
fwrite($fp, $value . "\n");
}
$filetxt = file_get_contents("mylist.txt");
$rtrim = rtrim($filetxt, "\n");
$newfile = file_put_contents("mylist.txt", $rtrim);
或者,您也可以使用數組計數刪除最后一個換行符。
$fp = fopen("mylist.txt","rw+");
$i =0;
foreach(glob("folder/*.*") as $value){
$i++;
if($i < count(glob("folder/*.*")))
fwrite($fp,$value."\n");
else
fwrite($fp,$value);
}
您是否嘗試過先寫新行且僅寫值(假設文件中已有內容)?
fp = fopen("mylist.txt","rw+");
foreach(glob("folder/*.*") as $value){
fwrite($fp, "\n".$value);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.