Sto facendo esperimenti con un interessante package che si chiama fabric js. Non sono bravo in JS, ma ho alla fine ottenuto una sorta di piccolo editor grafico per personalizzare etichette.
Il problema è che il comportamento è diverso a seconda del server su cui gira. Si veda:
1. il server Aruba
2. il server Netsons
Le pagine sono assolutamente identiche: si parte dalla selezione di una base grafica, poi si può aggiungere un'immagine, quindi una, o più scritte, alla fine si trasforma il tutto in immagine PNG.
Questa parte finale, funziona con Aruba, non con Netsons! In realtà l'immagine registrata sul server è esatta. Se si fa reload su Netsons, il refresh mostra la giusta immagine.
Temo dunque che sia un problema di PHP: la parte iniziale (davanti a <!DOCTYPE html> ) porta un semplice codice PHP:
Codice PHP:
$filename = explode(".", $_POST["trans_file"]); // nome file elaborato
unlink("transit/" . $_POST["trans_file"]); // cancella il file vecchio
$filesave = $filename[0] . ".png"; // $filesave contiene una sequenza base64
$data = $_POST["base64img_data"];
$data = explode(";", $data);
$data = explode(",", $data[1]); // $data contiene la base64 con l'immagine nuova
$immagine=base64_decode(chunk_split($data[1])); // la trasformo in PNG
$handle = fopen("transit/$filesave", "wb"); // scrivo sul server
fwrite($handle, $immagine);
fclose($handle);
Sembrerebbe che la scrittura del file avvenga bene, ma il browser (per ragioni che sto appunto chiedendo) prenda il file precedente, che viene cancellato all'inizio!
Non so capire: qualcuno ha delle idee?
Grazie