Ho creato un'applicazione e il tutto è costruito attorno a un semplice sistema di archiviazione dei dati.
- Crea un array.
- Converti in JSON.
- Aggiungi
<?php die()
all'inizio per impedire l'accesso. - Salva su file PHP e salva su disco.
Poi.
- Apri file.
- Rimuovi
<?php die();
. - Decodifica da JSON.
- Modifica / Leggi array.
- Salva di nuovo sul file se modificato.
È un modo sicuro per archiviare i dati? Quando ho fatto questo non conoscevo MySQL, e ancora non lo so bene. Tuttavia, voglio decidere se modificare la mia piattaforma mentre è piccola e cambiarla in MySQL o continuare a utilizzare il sistema attuale.
Non ho mai riscontrato problemi con un file in fase di modifica allo stesso tempo, e al momento non sembra rallentare il sito web.
Vale la pena di cambiare la mia applicazione di medie dimensioni ora e non dovrei dover passare settimane a cambiarlo ora sta crescendo? Oppure il sistema attuale è abbastanza sicuro da continuare a essere utilizzato.
Questo è ciò che il sistema attualmente funziona;
Impostazione dati:
function setDat($dat_file, $sec, $subsec, $val) {
global $INS_DIR;
$dat_file_dat = json_decode(str_replace("<?php die(); ", "", file_get_contents($_SERVER['DOCUMENT_ROOT'] . $INS_DIR . 'data/dat-'.$dat_file.'.php')), true);
$dat_file_dat[$sec][$subsec] = [$val];
file_put_contents($_SERVER['DOCUMENT_ROOT'] . $INS_DIR . 'data/dat-'.$dat_file.'.php', "<?php die(); ".json_encode($dat_file_dat));
}
Recupero dati:
function getDat($dat_file, $sec, $subsec) {
global $INS_DIR;
$dat_file_dat = json_decode(str_replace("<?php die(); ", "", file_get_contents($_SERVER['DOCUMENT_ROOT'] . $INS_DIR . 'data/dat-'.$dat_file.'.php')), true);
return $dat_file_dat[$sec][$subsec][0];
}
E così via.
Se spiego questo:
-
$dat_file
è il file in cui verranno archiviati i dati, un file all'interno di/data/
-
$sec
è il livello principale dell'array che desideri modificare$array[$sec]
; -
$subsec
è l'array di secondo livello$array[$sec][$subsec]
;
Lo faccio perché ogni applicazione può utilizzare $sec
come categoria per i dati e $subsec
e la ricerca all'interno della loro categoria. Possono anche avere il loro file. Quindi le impostazioni principali del file hanno una categoria chiamata impostazioni del tema e quindi alcune informazioni come il tema attivo che è impostato su default.
Quindi, detto questo, vale la pena mantenere il sistema attuale e ce la farà in futuro? Quali sono i suoi punti deboli e qualsiasi problema con esso.
o
Dovrei iniziare a cambiare tutto su MySQL, anche se dovrò riprogrammare l'intero lato dei dati del mio programma? Quali sono i lati positivi di questo e di aspetti negativi?