PHP将文本与制表器垂直对齐
这可能是一个非常愚蠢的问题,我相信已经有人问过了,但我什么也没发现。所以我的问题很简单。在我的php文件中,我有一个将访问者的IP地址和时间戳保存到文件中的函数:PHP将文本与制表器垂直对齐,php,alignment,Php,Alignment,这可能是一个非常愚蠢的问题,我相信已经有人问过了,但我什么也没发现。所以我的问题很简单。在我的php文件中,我有一个将访问者的IP地址和时间戳保存到文件中的函数: $ip=$_SERVER['REMOTE_ADDR']; $timestamp=date("\td.m.Y H:i:s"); $fp = fopen('log', 'a'); fwrite($fp, $ip." ".$timestamp."\n"); fclose($fp); 我使用\t将制表器放在IP和时间戳之间,但IP的长度
$ip=$_SERVER['REMOTE_ADDR'];
$timestamp=date("\td.m.Y H:i:s");
$fp = fopen('log', 'a');
fwrite($fp, $ip." ".$timestamp."\n");
fclose($fp);
我使用\t将制表器放在IP和时间戳之间,但IP的长度不同,因此它会这样做:
86.122.146.130 05.08.2017 09:59:25
188.175.16.157 05.08.2017 13:36:42
60.191.38.77 05.08.2017 17:37:44
106.74.48.171 05.08.2017 21:38:57
185.110.132.239 06.08.2017 02:08:04
如何垂直对齐时间戳?谢谢。您可以使用填充空格和对齐值:
$line = sprintf("%-20s %20s\n", $ip, $timestamp);
上面的代码返回一个字符串,其中两个字段长度为20个字符,其中第一个字段左对齐,请注意减号
您也可以使用函数,默认情况下,它会在字符串右侧填充空格:
$line = str_pad($ip, 20) . str_pad($timestamp, 20) . "\n";