Buongiorno,
sto creando un'applicazione che prevedere l'inserimento di un allegato nell'invio di un richiesta.
La funzione di upload carica il file sul server, lo rinomina e salva il nomefile su una tabella chiamata "file_temp".
Solo se il messaggio inviato verrà poi accettato allora verrà registrato definitivamente in un'altra tabella e lo stesso file verrà spostato dalla cartella File_Caricati\ alla cartella Documenti\
Nella gestione della query che conferma la richiesta e che quindi trascrive le info presenti nella tabella "richieste" nella tabella finale "lavori" c'è anche la funzione che sposta il file.
Entrambe le lavorazioni devono andare a buon fine, non posso avere un lavoro senza il documento allegato e viceversa.
Al momento utilizzo la funzione copy di PHP per "spostare" in questo modo ho ancora il file originale se ci fossero degli errori e un rollback.
E' il metodo corretto? Ci sono funzionalità migliori?
Per complicare il tutto, l'approvazione delle richieste è multipla, quindi con una sola chiamata io gestisco più di una richiesta.
Questo implica un ciclo in cui per ogni iterazione trascrivo la richiesta e sposto il file allegato.
La verifica però è sulla totalità ovvero che se una sola da un errore, annullo tutte le approvazioni.