<?php

function buscarEAN($diretorio, $ean) {
    $resultados = array();

    // Obtém todos os arquivos dentro do diretório
    $arquivos = glob($diretorio . '/*');
    foreach ($arquivos as $arquivo) {
        // Verifica se o item é um diretório
        if (is_dir($arquivo)) {
            // Se for um diretório, chama a função recursivamente
            $resultados = array_merge($resultados, buscarEAN($arquivo, $ean));
        } else {
            // Verifica se o arquivo é um XML
            if (pathinfo($arquivo, PATHINFO_EXTENSION) === 'xml') {
                // Carrega o conteúdo do arquivo XML
                $xml = simplexml_load_file($arquivo);

                // Verifica se o XML é uma NF-e
                if ($xml->getName() === 'NFe') {
                    // Obtém a chave da NF-e
                    $chave = (string) $xml->infNFe->attributes()->Id;

                    // Busca pelo código EAN dentro do XML
                    foreach ($xml->infNFe->det as $detalhe) {
                        $eanItem = (string) $detalhe->prod->cEAN;
                        if ($eanItem === $ean) {
                            // Se o código EAN for encontrado, adiciona ao resultado
                            $resultados[] = array(
                                'chave' => $chave,
                                'caminho' => $arquivo
                            );
                        }
                    }
                }
            }
        }
    }

    return $resultados;
}

// Diretório onde começar a busca
$diretorioInicial = 'C:\xampp\htdocs\chronos\recebimento\xml\arquivos\XML\20861429000180\2024\04';

// Código EAN que você está procurando
$eanProcurado = '7898695065199';

// Chama a função para buscar o EAN nos arquivos XML recursivamente
$resultados = buscarEAN($diretorioInicial, $eanProcurado);

// Exibe os resultados
if (empty($resultados)) {
    echo 'Nenhum resultado encontrado para o código EAN ' . $eanProcurado;
} else {
    foreach ($resultados as $resultado) {
        echo 'Chave da NF-e: ' . $resultado['chave'] . ', Caminho do XML: ' . $resultado['caminho'] . "\n";
    }
}
?>