在zip文件中读取多个csv

kiz8lqtg  于 2021-06-20  发布在  Mysql
关注(0)|答案(0)|浏览(314)

我有一个zip文件,其中包含一些csv文件,如:

main_table.csv
sub_table.csv
foo_table.csv

我需要遍历内存中的每个文件并执行查询:

$path = 'C:/xampp/htdocs/xampp/content/';
$zipfile = $path.'zipname.zip';

if ($zip->open($zipfile) == TRUE) {
for ($i = 0; $i < $zip->numFiles; $i++) {
    $filename = $zip->getNameIndex($i);
    $table = substr($filename, 0, -4);//remove extension

$query = <<<eof
LOAD DATA INFILE '$path$filename' INTO TABLE {$table}
FIELDS OPTIONALLY ENCLOSED BY '^'
TERMINATED BY '|'
ESCAPED BY ''
LINES TERMINATED BY '\r\n'
IGNORE 1 LINES;
eof;

$result = $conn->query($query) or die(mysqli_error($conn));

    }
}

它成功地打开了zip,但我在上遇到了一个错误

'$path$filename'

File 'C:\xampp\htdocs\xampp\content\main_table.csv' not found (Errcode: 2 "No such file or directory")

如何从zip传递文件名以加载数据填充?

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题