У меня есть 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 в LOAD DATA INFILE?