Newsgroup: it.comp.www.php
Titolo: Sincronizzare dati MySQL da file

Salve, sto realizzando il sito web di un'azienda in franchising. Il
sito è realizzato interamente in php e i contenuti vengono richiamati
da un DB MySQL. Ora il mio problema è che i dati relativi ai prodotti
sono in un'altro database realizzato per la rete informatica interna
all'azienda. Questi prodotti devono essere però aggiornati in tempo
reale (almeno quotidianamente) anche sul sito web.
Il responsabile informatico mi ha detto che può fare in modo di
passarmi un file contenente questi dati tramite FTP una volta al
giorno.
La mia domanda è: è possibile in php fare in modo che una volta al
giorno prenda questo file (supponiamo un file di testo contenente le
query) e aggiorni il database? Oppure ho bisogno di un software
apposito?

 apposito?
Ci sono molte possibilita':
- Implementi uno script sul server online eseguito tramite con che
legge il file di testo, lo elabora ed inserisce i dati nel database.
- Implementi un'interfaccia tipi SOAP/REST che viene utilizzata da
un'altro script, questa volta nel server della rete interna, che
permette di manipolare i dati del database online
- Implementi un sistema di replica tramite MySQL.
- Se la struttura dei database lo permette, implementi uno script
automatico che esporti i dati dal server locale (senza l'intervento del
tecnico), li carica tramite FTP sul server e PHP (sempre tramite cron)
li carica in MySQL (magari tramite LOAD FILE e simili).
-- 
Vuoi distribuire il tuo sito web su CD/DVD?
Prova 
http://www.dwebpro.com/
Vuoi diventare un esperto analista PHP/MySQL?
Vieni a fare uno stage con noi: 
http://www.creativepark.it/stage/


Ma la domanda è: si può fare in php? Che funzioni devo usare?

 Che funzioni devo usare?
le mysql_*, quali sennň?

xyzale ha scritto:

Lo puoi fare tranquillamente in PHP (od anche in altri linguaggi come
Perl). Per le funzioni, oltre a quelle per MySQL dipende dal formato
del file che ti verrà inviato (es. CSV, XML, SQL, etc.).


> sì, ma meglio fare uno script cron (di tre righe)
Sai dove posso trovare dei tutorial?

 Sai dove posso trovare dei tutorial?
http://it.php.net/manual/it/ref.mysql.php

 apposito?
Se i dati in remoto sono uno snapshot dei dati presenti nell'intranet 
potresti anche sviluppare un programma "intranet-side" (vb, .net, php) 
che provveda alla sincronia delle varie tabelle risparmiando i passaggi: 
export da locale -> invio ftp -> ftp->mysql (remoto)
Ovviamente per realizzare il tutto devi avere l'accesso remoto del db 
(via odbc)
	Francesco

 wrote:

Io ho realizzato una cosa identica poco tempo fa.
Il gestionale dell'azienda esporta, dietro comando dell'amministratore,
un file XML direttamente sul sito.
Con le funzioni di lettura di PHP ho implementato uno script che
estrapola i dati e li infila nel DB MySQL, anche questo script è
controllato dall'amministratore.
Avrei potuto scrivere un CRON ma ho notato che molti miei clienti
adorano poter fare qualcosa che li faccia assomigliare a dei veri e
propri "amministratori", e quindi via il bel pulsantino con tanto di
preload...
La soluzione è stata finora sperimentata con files anche di 5Mb, alcune
migliaia di records, ed ha sempre funzionato perfettamente.
Max
-- 
http://www.maxori.it
L'Arte è la capacità di fare cose di nessun valore
e di riuscire a venderle
F. Zappa