Skip to main content

Dateinamen der Importdatei in ein Squeeze Feld übergeben

in diversen Verarbeitungsszenarien kann es notwendig sein, den Dateinamen oder Anteile des Dateinamens im Verarbeitungsprozess zu berücksichtigen.

In dem folgenden Code-Beispiel wird der Dateiname ohne Pfadangabe und ohne Extension in das mehrdimensionale Array "additionalInfo" geschrieben.
Dabei wird der Dateiname in den Index "Filename" geschrieben.
Sobald ein identisch benanntes Feld in der Squeeze Dokumentenklasse existiert, wird der Inhalt des Array-Indexes (hier der Dateiname) in das entsprechende Squeeze-Feld geschrieben.

<?php

use Squeeze\xDataBaseClass;
use Squeeze\xReturnObject;
use Squeeze\xTools;

/**
 * @param array $params
 * @return xReturnObject
 * @throws Exception
 */
function BeforeFileImport($params){

    $logger = Logger::getLogger("main");
    $db = xDataBaseClass::getDBConnection();

    return prepareFileImport($db, $params, $logger);
}

/**
 * @param PDO $db
 * @param array $params
 * @param Logger $logger
 * @return xReturnObject
 * @throws Exception
 */
function prepareFileImport(PDO $db, $params, Logger $logger)
{
    try {
        if (isset($params['importFile']) == false) {
            return new xReturnObject(false, 400, 'importFile not set', null);
        }

        if (file_exists($params['importFile'])) {
            $logger->debug('Import File ' . $params['importFile'] . ' exists.');
            $params['additionalInfo'] = array();
            $params['additionalInfo']['Importfile'] = $params['importFile'];
            $params['additionalInfo']['Filename'] = xTools::getFileNameWithoutExtension($params['importFile']);    
        } else {
            return new xReturnObject(false, 400, 'importFile does not exist', null);
        }
    } catch (Throwable $e) {
        xTools::handleException($e, false, true);
    }
    return new xReturnObject(true,200, 'File ready for import!', $params);
}

Der Dateiname wird anschließend in dem entsprechenden Feld angezeigt.

Squeeze-Screeenshot-BeforeFileImport_Filename.png