Php 是否将远程CSV导入mySQL表?
有人能给我一些关于如何创建PHP脚本将远程csv文件加载到mySQL表中的建议吗 我已经用CSV中的字段和相关类型设置了mySQL表 如果文件在本地系统上,我相信我可以使用以下内容:Php 是否将远程CSV导入mySQL表?,php,mysql,csv,Php,Mysql,Csv,有人能给我一些关于如何创建PHP脚本将远程csv文件加载到mySQL表中的建议吗 我已经用CSV中的字段和相关类型设置了mySQL表 如果文件在本地系统上,我相信我可以使用以下内容: LOAD DATA INFILE 'data.txt' INTO TABLE db2.my_table; 最终的解决方案将是一个linux服务器,它有一个cronjob在每天早上4点运行php脚本。CSV文件将位于需要登录凭据的SFTP共享中。不幸的是,它不能位于同一个框上 考虑到西蒙斯在下面的评论,我现在正努力
LOAD DATA INFILE 'data.txt' INTO TABLE db2.my_table;
最终的解决方案将是一个linux服务器,它有一个cronjob在每天早上4点运行php脚本。CSV文件将位于需要登录凭据的SFTP共享中。不幸的是,它不能位于同一个框上
考虑到西蒙斯在下面的评论,我现在正努力将其导入本地:
$data = $conn->query('LOAD DATA INFILE ' .$filelocation. ' INTO TABLE wl_transactions FIELDS TERMINATED BY ";" IGNORE 1 LINES');
如果您可以从PHP写入MySQL服务器的本地文件系统,您可以使用来检索远程文件,然后将其保存到本地文件,最后触发
加载数据命令。这就是我如何让它在WordPress插件环境中工作的,希望它能对您有所帮助
我首先创建了一个表单,用户可以在其中选择csv文件并选择其他设置
这些设置位于$this->csv\u设置数组中
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.';'));
这将是有帮助的:我相信它现在已经过时了,它不使用PDO,而且据我所知,现在加载数据意味着你不必循环浏览内容。我将试一试。当前我的加载数据代码存在问题。更新问题更新:你现在在挣扎什么?我觉得这个问题很好。你看过MySQL手册中提到的安全要求了吗?(运行LOAD DATA infle
所需的权限、文件权限、secure\u file\u priv
服务器变量?