-1

我有这个代码:

<?php 
$ip = $_SERVER["REMOTE_ADDR"];

echo $ip;
echo "\n";
echo strftime('%c');
echo "\n";
echo date_default_timezone_get();
echo "\n";
?>

所有三个输出都应该在三个单独的行上,但它们都在同一行上。我究竟做错了什么?

4

6 回答 6

3

如果您想在浏览器中查看换行符的输出,请使用 html 换行符<br>而不是\n. 浏览器将空格(\n是一个空格)折叠成一个' '.

于 2012-10-14T18:47:22.893 回答
2

默认情况下,浏览器将输出解释为 html。如果您想“查看”实际输出,请在文件开头添加此内容。

header("Content-type: text/plain");

或使用 a<br />而不是简单的换行

于 2012-10-14T18:46:47.590 回答
1

只需添加pre 标签 - 预格式化文本 <pre>

$ip = $_SERVER["REMOTE_ADDR"];

echo "<pre>";
echo $ip;
echo "\n";
echo strftime('%c');
echo "\n";
echo date_default_timezone_get();
echo "\n";
echo "</pre>";
于 2012-10-14T18:55:00.303 回答
0

浏览器中的 php-output 格式为 Html。在 Html 中,您需要标签 <br> 开始一个新行... :-)

echo "<br>";
于 2012-10-14T18:46:53.910 回答
0

如果您以 HTML 格式查看页面,那么所有内容都将在一行中。您需要添加换行符。

echo $ip . "<br />\n";
于 2012-10-14T18:47:59.490 回答
0

如果您打算以 HTML 格式查看输出,则需要使用 HTML line-breaks

<?php 
$ip = $_SERVER["REMOTE_ADDR"];

echo $ip."<br>";
echo strftime('%c')."<br>";
echo date_default_timezone_get()."<br>";
?>
于 2012-10-14T18:52:38.007 回答