0

リモートcsvファイルをmySQLテーブルにロードするPHPスクリプトを作成する方法について、誰かが私にいくつかの指針を与えることができますか?

CSV のフィールドと関連するタイプを使用して mySQL テーブルをセットアップしました。

ファイルがローカル システムにある場合は、次を使用できたと思います。

LOAD DATA INFILE 'data.txt' INTO TABLE db2.my_table;

最終的な解決策は、毎朝 4 時に php スクリプトを実行する cronjob を持つ Linux サーバーになる予定です。CSV ファイルは、ログイン資格情報を必要とする SFTP 共有に配置されます。残念ながら、同じボックスに配置することはできません。

以下のSimonsのコメントを考慮して、ローカルにインポートするのに苦労しています:

$data = $conn->query('LOAD DATA INFILE ' .$filelocation. ' INTO TABLE wl_transactions FIELDS TERMINATED BY ";" IGNORE 1 LINES');
4

2 に答える 2

0

これが、WordPress プラグイン環境で動作するようにした方法です。

最初に、ユーザーが csv ファイルを選択して追加設定を選択できるフォームを作成しました。

これらの設定は $this->csv_settings 配列にあります

if(isset($this->csv_settings['ignore'])):
    $ignore = "IGNORE 1 LINES ({{The columns to ignore}})";
else:
    $this->csv_settings['ignore'] = NULL;
endif;

/** @var wpdb $wpdb */
global $wpdb;
$result = $wpdb->query($wpdb->prepare('load data local infile \'$this->path_to_file\' into table {{your table name}} fields terminated by \'' . $this->csv_settings['terminated'] . '\' enclosed by \'' . $this->csv_settings['enclosed'] . '\' lines terminated by \'' . $this->csv_settings['lines'] . '\' '. $ignore.';'));
于 2013-10-31T12:12:42.213 に答える