nel mio host l'upload funziona, ma non so dirti su "move_uploaded_file", credo di no, visto che i files caricati vanno in una cartella temporanea.
la scrittura di files tramite fopen, ecc... non funziona al di fuori della cartella con permessi di scrittura "/public/".
Dalle tue parole sembra chiaro tu non abbia mai eseguito un upload in PHP (es. utilizzando move_uploaded_file()), inoltre, come gia' scritto, se il tuo hosting fornisce una cartalla con i permessi di scrittura, allora la soluzione proposta PUO' essere implementata.
tornando a noi, nella struttura #2 si può settare un valore di default per la colonna, per cui il reset della config avverrebbe tramite un truncate + insert values() che immette quelli di default.
E perche' non un semplice UPDATE invece di due query?
nella struttura #1 invece o usi le subquery se hai i defaultvalues in un'altra colonna oppure non puoi memorizzarli nel db stesso.
Convinto tu, in una tabella come questa:
Codice PHP:
CREATE TABLE options (
id INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
name VARCHAR(255) NULL,
value TEXT NULL,
default_value TEXT NULL,
PRIMARY KEY(id)
);
E' sufficiente un "UPDATE options SET value = default_value" per effettuare il reset.