Sebastian Dominguez escribió:
Juan Pablo Villalba-A favor del Open Source escribió:
hola
Les comento que me estoy iniciando en el mundo PHP+MYSQL y
necesito
automatizar una tarea en el servidor.lo que necesito puntualmente es lo
siguiente: que cada 6 hs se importe un archivo *.csv a una base de
datos en
mysql.estuve googleando y buscando info, sobre si existe en el
lenguaje sql
algo que importe archivos y no encontre nada...la automatizacion deberia
hacerla con crontab? Gracias
Vi que te pasaron un script en ruby. Tambien veo que hablas de PHP+SQL.
Porque no intentas mas o menos lo mismo con PHP.
Un for que recorra linea a linea el archivo (fgets)
|<?php
$gestor = @fopen("/tmp/archivo_entrada.txt", "r");
if ($gestor) {
while (!feof($gestor)) {
$bufer = fgets($gestor, 4096);
echo $bufer;
}
fclose ($gestor);
}
?> |
con explode separas los campos por el ; y le das el INSERT en la DB.
(en lugar de hacer el echo $bufer
Recomiendo que no utilices file() o similares que cargan todo el
archivo en un arreglo porque esto significa cargar el archivo en
memoria y, sobre todo en tu caso, podes encontrarte con archivos tan
grande que no te alcance la memoria para manejarlos.
Si necesitas mas ayuda avisá.
Obvio tambien lo tenes que meter en el crontab. Pero ya tenes php
instalado y manejas mas el lenguaje (supongo). Podes ejecutar el script
ejecutandolo directamente o utilizando wget para "visitar" una página
* */6 * * * root /usr/bin/wget -O - -q http://sitio.com/script.php; echo
"$(date) Importacion a la DB ejecutado" >> /var/log/syslog
--
Seba Dominguez
_______________________________________________
Lugro mailing list
[email protected]
http://www.lugro.org.ar/mailman/listinfo/lugro