我有一堆日志纯文本文件,我希望用 php 将它们转换为数据库而不是使用纯文本文件,我拥有的最大日志文件是 14MB,并且有 26 个日志文件。
我将如何使用 PHP 读取这些文本文件以将它们转换为 SQL?
它们都有相同的格式。
大多数情况下,MySQL 会足够聪明地读取文件格式并“好像”插入它,您可以为此使用 LOAD DATA INFILE。您还可以添加“字段终止于”和“行终止于”,两者都将在单引号之间使用正确的值。
LOAD DATA INFILE '/mylog_file.txt' INTO TABLE `my_db`.`my_table` FIELDS TERMINATED BY 'xxx' LINES TERMINATED BY 'xxx' ( first_field, seccond_field );
使用file_get_contents()获取日志文件文本— 将整个文件读入字符串
$file = file_get_contents('log.txt', true);
如果您使用的是 MySQL ,请将$file
变量内容存储在 MEDIUMTEXT 数据类型的字段中。
以下是尺寸限制
TINYTEXT 256 bytes
TEXT 65,535 bytes ~64kb
MEDIUMTEXT 16,777,215 bytes ~16MB
LONGTEXT 4,294,967,295 bytes ~4GB