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
"; ?>