2015-10-13 72 views
1

用戶的電子郵件必須寫入文件,每封電子郵件都必須放在換行符中。在我的代碼中,電子郵件是在同一行上。無法找到它...... 這是我PHP用換行符寫電子郵件到php中的文件

if(isset($_POST["submit"])) 
    { 

     $file = fopen("email.txt","a"); 

     $email = $_POST["email"]; 

     fwrite($file,"\n"); 
     fwrite($file,$email); 


     fclose($file); 
    } 
+4

我相信'「\ r \ n」'是在這種情況下新行的正確格式.... – davidkonrad

+0

@davidkonrad:工作!謝謝! – Manariba

+0

事實上,如果您使用比記事本更好的文本編輯器查看文件,\ n就可以了。 – Simba

回答

1

使用PHP_EOL其輸出根據不同的操作系統(僅用於UNIX/Linux/Windows的)

上\ r \ n或\ n

如果你想支持所有操作系統使用「\ r \ n」

+0

但是,在不同的操作系統上閱讀電子郵件的人呢? – davidkonrad

+0

這就是它解決的問題。 –

+1

不完全。如果您從Unix系統發送電子郵件,PHP常量'PHP_EOL'使用等於ASCII 10的'\ n'。但是如果收件人使用Mac pre-OSX,則換行符的ASCII碼爲ASCII 13或'\ n' r'。所以收件人不能理解換行符,因爲它希望換行符是ASCII 13,而不是使用ASCII 10。 – Qirel