2011-06-14 74 views
0

我有一個密碼保護的文本文件,並使其密碼保護,我使用了一個密碼保護腳本(這很好用),但它需要我將文本文件重命名爲.php在我的服務器上。這很好,但是,當我在任何瀏覽器在Windows上打開此文本文件時,我沒有看到任何新行(我曾經看到它們)瀏覽器不讀取一個PHP文件中的新行

我試過寫 - 「\ n」,「\ r」, 「\ r \ n」。我認爲它與瀏覽器認爲它是一個.php文件我猜。

+0

如何使用文本編輯器打開文件? – Andrew 2011-06-14 20:52:18

+0

非常感謝大家,使用
修復了它。 – Illusionist 2011-06-14 21:01:42

+0

「它需要我將我的服務器上的文本文件重命名爲.php。」高度懷疑。 – 2011-06-14 21:02:51

回答

0

瀏覽器使用HTML格式文本(包含在過程中的HTML)

使用<br><p>

還考慮您的文件是一個.php這是一個正常的行爲,你的Web服務器將發送它作爲text/html

+1

不,他們沒有。瀏覽器使用HTML來格式化HTML。瀏覽器使用文本來設置文本的格式,但是您必須瀏覽器是文本。 – 2011-06-14 21:04:14

+0

@tomalak:在接下來的幾天裏,我會報告你,如果你繼續-1我的每個答案從我的個人資料中捕獲 – dynamic 2011-06-14 21:06:08

+0

也正如你可以看到我的答案實際上回答了OP – dynamic 2011-06-14 21:07:31

3

默認情況下,PHP腳本的輸出呈現爲HTML,這意味着空白被摺疊。如果您想將其更改回文本,則需要在網頁服務器或通過header()函數將Content-Type標題設置爲「text/plain」。

0

您需要使用<br>,因爲html正在瀏覽器中呈現。

+0

看到我對魔術師答案的評論。 – 2011-06-14 21:04:27

7

這是因爲服務器正在發送不同的MIME類型。它現在發送text/html(PHP返回的默認類型)而不是text/plain

您的瀏覽器期待HTML。換行符與HTML中的任何其他空白區域一樣,所以它們對於您嘗試執行的操作而言基本上沒有意義。

您可以用它來修復它:

header('Content-Type: text/plain');

務必把,在你的代碼的頂部,或者至少你輸出任何東西之前。

這會導致服務器發送您期望的MIME類型。

1

這是因爲瀏覽器中看到的內容,HTML和在HTML換行僅僅是一個空白

1

我不知道我是否正確地理解你的問題,但在兩種情況下有一個解決方案:

- 你輸出的文本:在這種情況下,你必須使用

<br> 

- 你想將它與文件中的新行寫:使用PHP-恆

PHP_EOL 

這意味着行尾。這插入總是一個正確的休息。

相關問題