setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
// Pobierz produkty
if ($testEan !== "") {
$sql = "SELECT p.id_product, p.ean13
FROM {$prefix}product p
WHERE p.ean13 = :ean";
$stmt = $pdo->prepare($sql);
$stmt->execute(['ean' => $testEan]);
$products = $stmt->fetchAll(PDO::FETCH_ASSOC);
echo "Tryb testowy – eksportuję tylko produkt o EAN: {$testEan}\n
";
} else {
$sql = "SELECT p.id_product, p.ean13
FROM {$prefix}product p
WHERE p.ean13 IS NOT NULL AND p.ean13 <> ''";
$products = $pdo->query($sql)->fetchAll(PDO::FETCH_ASSOC);
echo "Eksportuję wszystkie produkty\n
";
}
foreach ($products as $prod) {
$ean = $prod['ean13'];
$id_product = (int)$prod['id_product'];
// Pobierz zdjęcia produktu
$sqlImg = "SELECT id_image
FROM {$prefix}image
WHERE id_product = :id_product
ORDER BY position ASC";
$stmt = $pdo->prepare($sqlImg);
$stmt->execute(['id_product' => $id_product]);
$images = $stmt->fetchAll(PDO::FETCH_ASSOC);
if (!$images) {
echo "Brak zdjęć dla EAN: {$ean}\n
";
continue;
}
$i = 1;
foreach ($images as $img) {
$id_image = (int)$img['id_image'];
// Ścieżka do pliku (PrestaShop – struktura katalogów np. 123 -> /1/2/3/123.jpg)
$path = implode('/', str_split((string)$id_image)) . "/" . $id_image . ".jpg";
$src = __DIR__ . "/img/p/" . $path;
if (file_exists($src)) {
$dest = $exportDir . "/" . $ean . "_" . $i . ".jpg";
copy($src, $dest);
echo "Zapisano: $dest\n
";
} else {
echo "Brak pliku: $src\n
";
}
$i++;
}
}
echo "✅ Eksport zakończony.\n
";
?>