Prestashop 1.7-用于导入csv(产品)的脚本,其中的列具有多个由逗号分隔的值

Prestashop 1.7-用于导入csv(产品)的脚本,其中的列具有多个由逗号分隔的值,csv,import,prestashop,Csv,Import,Prestashop,我正在尝试导入具有以下结构的csv: name,reference,ean13,wholesale_price,price,quantity,category,manufacturer Samsung Galaxy A1,259304,7076963846220,380.50,410,20,3,Samsung Xiaomi MI Note 9,334573,23039239536421,499,530,30,1,Xiaomi 关键是,正如我所提议的,这是不可能的,因为csv有数千条记录,大约有

我正在尝试导入具有以下结构的csv:

name,reference,ean13,wholesale_price,price,quantity,category,manufacturer
Samsung Galaxy A1,259304,7076963846220,380.50,410,20,3,Samsung
Xiaomi MI Note 9,334573,23039239536421,499,530,30,1,Xiaomi
关键是,正如我所提议的,这是不可能的,因为csv有数千条记录,大约有20条

<?php
header("Content-Type: text/html;charset=utf-8");
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);


if (!defined('_PS_ADMIN_DIR_'))
define('_PS_ADMIN_DIR_', getcwd());
include(_PS_ADMIN_DIR_.'/../config/config.inc.php');
include(_PS_ADMIN_DIR_.'/functions.php');
include_once './tabs/AdminImport.php';
require_once(_PS_ADMIN_DIR_.'/init.php');
$context = Context::getContext();

$import = New AdminImportController();
loadProductsPost();
$import->productImport(); 

function loadProductsPost() {
 $_POST = array (
  'tab' => 'AdminImport',
  'forceIDs' => '1',
  'skip' => '1',
  'csv' => 'products.csv',
  'entity' => '1',
  'separator' => ',',
  'multiple_value_separator' => ',',
  'iso_lang' => 'es',
  'convert' => '',
  'import' => '1',  
  "type_value" => array(                
    0 => 'name',
    1 => 'reference',
    2 => 'ean13',
    3 => 'wholesale_price',
    4 => 'price',
    3 => 'quantity',
    4 => 'category',                
    15 => 'manufacturer',               
    
  ),
);

}


 Tools::clearSmartyCache();
 Tools::clearXMLCache();
 Media::clearCache();
 Tools::generateIndex();

?>
function csv_to_array($filename='', $delimiter=',')
{
if(!file_exists($filename) || !is_readable($filename))
    return FALSE;

$header = NULL;
$data = array();
if (($handle = fopen($filename, 'r')) !== FALSE)
{
    while (($row = fgetcsv($handle, 1000, $delimiter)) !== FALSE)
    {
        if(!$header)
            $header = $row;
        else
            $data[] = array_combine($header, $row);
    }
    fclose($handle);
}
return $data;
}