<?php
    header('Content-Type: application/json');
    // Path pour les sauvegardes des données transmisent par le client
    define('DATA_PATH', 'data/');
    define('CODE_TIMEOUT', 300); // 5 minutes
    // Epuration des codes qui ont expirés (timeout)
    foreach (glob(DATA_PATH . '*') as $file) {
        if (time() - filemtime($file) > CODE_TIMEOUT) {
            unlink($file);
        }
    }
    // Recupère les données à sauvegarder
    $data = isset($_POST['data']) ? $_POST['data'] : null;
    // Est-ce bien du JSON ?
    $check = json_decode($data);
    if (!isset($check)) die(json_encode('error'));
    // Génère un nom de fichier unique
    do {
        $bytes = openssl_random_pseudo_bytes(5);
        $code = bin2hex($bytes);
    } while (file_exists(DATA_PATH . $code));
    // Sauvegarde des données dans un fichier
    file_put_contents(DATA_PATH . $code, $data);
    // Transmet le code au client en JSON
    echo json_encode($code);

