false, 'error' => 'No processed data found' ]); exit; } $fileIndex = isset($_GET['fileIndex']) ? (int)$_GET['fileIndex'] : 0; $processedData = $_SESSION['processed_csv']; if (!isset($processedData['files'][$fileIndex])) { echo json_encode([ 'success' => false, 'error' => 'Invalid file index' ]); exit; } require_once __DIR__ . '/vendor/autoload.php'; $csvFile = $processedData['files'][$fileIndex]; // Parse CSV and return all rows $csvReader = \League\Csv\Reader::createFromString($csvFile['content']); $csvReader->setHeaderOffset(0); $previewRows = iterator_to_array($csvReader->getRecords()); echo json_encode([ 'success' => true, 'filename' => $csvFile['filename'], 'isoCode' => $csvFile['isoCode'], 'preview' => $previewRows, 'rowCount' => count($previewRows) ]); } catch (Exception $e) { echo json_encode([ 'success' => false, 'error' => $e->getMessage() ]); }