如何用PHP编写固定宽度的文本文件

时间:2011-02-19 12:51:25

标签: php

我正在尝试做一些应该很容易但有问题的事情。

我想要做的就是从MySQL表生成报告,并将其作为普通的.txt文件。我需要文件固定宽度,所以一切都排成一行,看起来不错。我将使用courier字体,它只是一个准系统表,但我如何实际排列所有内容,固定宽度文件应该如何?

我是否必须构建一个用空格填充的值数组,以使它们具有相同的宽度?或者是否有一个PHP函数开始在特定位置写作?

再次感谢您的帮助!

2 个答案:

答案 0 :(得分:10)

查看str_pad方法。 E.g。

str_pad('Somevalue', 20, " ", STR_PAD_LEFT); 

用空格填充字符串“Somevalue”,给出

"           Somevalue"

尽管

str_pad('Somevalue', 20);

用空格填充字符串,给出:

 "Somevalue           "

答案 1 :(得分:1)

substr的输入值大于PAD的情况下,我仍然会添加一个str_pad,然后返回原始值,打破其固定宽度。

示例:

var_dump(str_pad('Some string with more than 20 input characters', 20));
string (46) "Some string with more than 20 input characters"

使用substr:

var_dump(substr(str_pad('Some string with more than 20 input characters', 20), 0, 20));
string (20) "Some string with mor"

从右到左工作:

var_dump(str_pad('Some string with more than 20 input characters', 20, "", STR_PAD_LEFT));
string (46) "Some string with more than 20 input characters"
var_dump(substr(str_pad('Some string with more than 20 input characters', 20, "", STR_PAD_LEFT), -10));
string (10) "characters"