【问题标题】:PHP align text vertically with tabulatorsPHP 使用制表符垂直对齐文本
【发布时间】:2023-03-10 12:06:01
【问题描述】:

这可能是一个非常愚蠢的问题,我敢肯定有人已经问过这个问题,但我什么也没找到。所以我的问题很简单。在我的 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 的长度不同,所以它这样做:

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

如何垂直对齐时间戳?谢谢。

【问题讨论】:

    标签: php alignment


    【解决方案1】:

    您可以使用sprintf() 填充空格并对齐值:

    $line = sprintf("%-20s %20s\n", $ip, $timestamp);
    

    上面的代码返回一个包含两个长度为 20 个字符的字段的字符串,其中第一个字段左对齐(注意减号)。

    您也可以使用str_pad() 函数(默认情况下,它会从右侧用空格填充字符串):

    $line = str_pad($ip, 20) . str_pad($timestamp, 20) . "\n";
    

    【讨论】:

      猜你喜欢
      • 2018-12-26
      • 2013-09-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-04-26
      相关资源
      最近更新 更多