下面的代碼輸出格式良好的文本文件。但是它也在文本文件的末尾添加了一個額外的字符 - 我假設一個\ r或\ n字符。我已經試過sed'$ d'但是這不起作用。當我在編輯器中打開輸出文件(load_data_infile.txt)時,我將光標定位在文件的最後一行文本之後,它說我處於「奇怪的15」行。我怎樣才能在14行文件中有15行?fgets增加了一個額外的行來輸出文件?
我的問題是這些:1)什麼是導致行「15的14」和2)我怎樣才能防止它被寫入或一旦它被刪除?
謝謝!
<?php
$file_write_output = fopen("load_data_infile.txt", "w") or die ("can't open load_data_infile.txt for writing");
$file_read_input = fopen("http://file.txt", "r") or die ("can't open file");
//perform the loop through the file - read the input file line by line with fgets function
while (!feof($file_read_input)) {
$input = fgets($file_read_input);
echo "$input";
fwrite($file_write_output,$input);
}
fclose($file_write_output);
fclose($file_read_input);
?>
<?php
//strip out the header of load_data_infile.txt file
exec("sed -i '1d' load_data_infile.txt");
?>
如果您正在使用UNIX,你可以用'LS -l'來檢查lenghts是相同的,我不相信的fwrite()寫任何東西比。 – SteAp 2012-02-26 22:30:49
讀取數據。 'od -c'會顯示字符並將空格\不可打印的字符轉換成您可以看到的東西。 – 2012-02-26 23:03:08
嗨,謝謝 - od -c在命令行執行?我需要指定文件名嗎? – tomish 2012-02-27 04:23:42