プレーンテキスト ファイルを使用する代わりに、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