Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    Consiglio su salvataggio file

    Salve,

    Sto facendo un'applicazione in php e js, che consente ai clienti di fare gli ordini direttamente online, viene gestito tutto in memoria e solo alla fine di tutta la procedura memorizzo l'ordine di ciascun cliente in un file txt.
    Il file txt di ciascun cliente verrà memorizzato su disco nel seguente modo: "anno + numero progressivo", la domanda è questa:

    Per evitare che i file txt possano riportare lo stesso nome, dovuto magari ad un accesso contemporaneo di 2 utenti che leggono lo stesso numero progressivo, causa perdita di dati,
    mi consigliate di aggiungere al nome del file un numero random in modo da renderlo univoco, oppure di bloccare il file o aggiungere un file semaforo, tutto implementato in un ciclo while, e sbloccare il tutto non appena risulta via libera dall'utente?

    Grazie mille per la risposta....


  2. #2

  3. #3

    Consiglio su salvataggio file

    Ciao


    Non posso utilizzare db perchè il file txt deve essere letto da un procedura esterna in cobol...!


    Avete consigli o suggerimenti?

    grazie

  4. #4
    bè... in cobol riesci ad accedere a DB come mysql...

    in ogni caso potresti, prima che tutti i dati vengano salvati in un txt, controllare che lo stesso txt non esista già, e se esiste, salvi con un altro nome
    uh? eh ? cosa?

  5. #5
    Puoi usare un DB per la generazione di un autoincrement, oppure usare flock() e gestire la gestione dell'id su un singolo file:

    Codice PHP:
    <?php

    // proof of concept
    function nextid($filename) {
        
    $fp fopen($filename'r+b');
        
    flock($fpLOCK_EX);
        
    $id fread($fpfilesize($filename));
        
    fseek($fp0);
        
    $id = (int)$id 1;
        
    fwrite($fp$id);
        
    flock($fpLOCK_UN); // release the lock
        
    fclose($fp);
        return 
    $id;    
    }

    echo(
    nextid(dirname(__FILE__) . '/id.txt'));


    ?>

  6. #6
    oppure potresti lavorare su DB e poi fare un cron che esporti periodicamente su file di testo.

  7. #7

    Consiglio su salvataggio file

    Grazie per le risposte,

    Filippo, la procedura che mi hai scritto è sicuramente corretta ma dovendola inserire nel bottone salva, se l'utente trova il file bloccato che succede?
    Servirebbe un ciclo while?

    grazie ciao

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.