gugglegum / clv-rw
常长度值的文本文件读取器和写入器
1.0.1
2018-11-27 19:42 UTC
Requires
- php: >=7.0.0
- ext-mbstring: *
- gugglegum/mb-str-pad: ^1.0
This package is auto-updated.
Last update: 2024-09-14 11:18:10 UTC
README
这是一个非常少用的数据格式,它是一个具有固定长度行的文本文件。它是一个具有行和单元格的表格数据。行是由LF
或CR
+LF
(\n
或\r\n
)分隔的文本行。单元格具有固定大小,因此不使用特殊的分隔符字符。多余的空间用空格填充。
这个格式比优势更多,所以只用来与旧系统交互。不要在新的服务中使用此格式。CSV或JSON在各方面都更好。这个格式的主要限制是值不能大于列预定义的大小。但是如果你定义了很大的列大小——许多单元格将主要填充空格。
这个库编写得你可以同时处理文件和流。所以你可以从stdin
读取,写入到stdout
或使用由tmpfile()
创建的临时文件。
我在与汉斯(服装供应商)的API集成期间遇到了这个格式。我不知道这个文件格式是否有任何已确立的名字。我称之为"CLV",这是"常长度值"的缩写。我也可以称之为"Fixed Length Values",但是"FLV"这个缩写已经被"Flash Video"使用了。
安装
composer require gugglegum/clv-rw
使用
参见/examples
部分。
故障排除
如果你有关于MAC的行结束符\r
的问题,你可以打开PHP选项auto_detect_line_endings
打开后,PHP将检查fgets()和file()读取的数据,以查看它是否使用Unix、MS-Dos或Macintosh的行结束约定。
你可以在PHP代码中打开它。只需在读取MAC文件之前添加这个:
ini_set('auto_detect_line_endings', true);