使用 PHP_EOL 在 txt 文件中写入数据时如何摆脱 space
how to get rid of space when writing data in txt file with PHP_EOL
我正在将数据写入带有换行符的 .txt
文件:
// put content in .txt file with linebreaks; unique_id first
$userinput = $unique_id.PHP_EOL;
$userinput .= date('d M Y h:i').PHP_EOL;
$userinput .= $userinput1.PHP_EOL;
$userinput .= $userinput2.PHP_EOL;
$messagefile = './messages/';
$messagefile .= $unique_id . '.txt'; //name of the file is the same as unique_id
// create file in messages folder
$h = fopen($messagefile, 'w+');
fwrite($h, html_entity_decode($userinput));
fclose($h);
我的 .txt 文件现在看起来像这样:
20191103135045 // unique id = date
03 Nov 2019 01:50
John
Lorem ipsum dolor sit amet
为了读取 .txt
文件的第一行,我使用了这个:
// get data out of txt file
$msg = '../messages/';
$msg .= $file;
$fh = fopen($msg, 'r');
$lines = file($msg);// filedata into an array
$file_id = $lines[0]; // file id
现在是在表单中使用第一行的内容(唯一 ID 或日期):
<input type="hidden" class="form-control" name="delete_file" value="<?php echo $file_id; ?>" />
当我回显隐藏输入字段的值时,它说后面有一个space
:
if(isset($_POST['delete_file'])) {
$filename = '../messages/'.$_POST['delete_file'].'.txt';
echo $filename;
我的回声是这样的:20191103135045.txt
但它是这样的:20191103135045 .txt
那么 5
和 .
之间的 space 是从哪里来的呢?
当我将内容放入 .txt
文件时,它必须对 PHP_EOL
做些什么?
你需要使用
$lines = file($msg, FILE_IGNORE_NEW_LINES);
来自 manual ...
FILE_IGNORE_NEW_LINES
Omit newline at the end of each array element
没有这个,你会在每行的末尾看到额外的字符。
我正在将数据写入带有换行符的 .txt
文件:
// put content in .txt file with linebreaks; unique_id first
$userinput = $unique_id.PHP_EOL;
$userinput .= date('d M Y h:i').PHP_EOL;
$userinput .= $userinput1.PHP_EOL;
$userinput .= $userinput2.PHP_EOL;
$messagefile = './messages/';
$messagefile .= $unique_id . '.txt'; //name of the file is the same as unique_id
// create file in messages folder
$h = fopen($messagefile, 'w+');
fwrite($h, html_entity_decode($userinput));
fclose($h);
我的 .txt 文件现在看起来像这样:
20191103135045 // unique id = date
03 Nov 2019 01:50
John
Lorem ipsum dolor sit amet
为了读取 .txt
文件的第一行,我使用了这个:
// get data out of txt file
$msg = '../messages/';
$msg .= $file;
$fh = fopen($msg, 'r');
$lines = file($msg);// filedata into an array
$file_id = $lines[0]; // file id
现在是在表单中使用第一行的内容(唯一 ID 或日期):
<input type="hidden" class="form-control" name="delete_file" value="<?php echo $file_id; ?>" />
当我回显隐藏输入字段的值时,它说后面有一个space
:
if(isset($_POST['delete_file'])) {
$filename = '../messages/'.$_POST['delete_file'].'.txt';
echo $filename;
我的回声是这样的:20191103135045.txt
但它是这样的:20191103135045 .txt
那么 5
和 .
之间的 space 是从哪里来的呢?
当我将内容放入 .txt
文件时,它必须对 PHP_EOL
做些什么?
你需要使用
$lines = file($msg, FILE_IGNORE_NEW_LINES);
来自 manual ...
FILE_IGNORE_NEW_LINES
Omit newline at the end of each array element
没有这个,你会在每行的末尾看到额外的字符。