Foros del Web » Programando para Internet » PHP »

Importar csv a base de datos en php con cron job

Estas en el tema de Importar csv a base de datos en php con cron job en el foro de PHP en Foros del Web. Buenas tardes, llevo como 1 mes para poder terminar un jaleo que tengo con un cron job sin prestashop y me tiene la vida amargada ...
  #1 (permalink)  
Antiguo 27/08/2018, 11:54
Avatar de JaviCN  
Fecha de Ingreso: abril-2009
Ubicación: Huelva, España
Mensajes: 76
Antigüedad: 9 años, 6 meses
Puntos: 2
Importar csv a base de datos en php con cron job

Buenas tardes, llevo como 1 mes para poder terminar un jaleo que tengo con un cron job sin prestashop y me tiene la vida amargada y no se donde casca exactamente ya que nunca hice algo así. La cosa está en que el cron job debe bajar un archivo csv de un link, y ese archivo implementarlo a una base de datos. Lo tengo hecho en modo manual y de ahí pille el codigo para hacerlo automático desde el cron job. Entre otras cosas el link viene con un usuario y contraseña en el mismo enlace para bajar ese archivo

Código PHP:
// conexión

$dbHost 'host';
$dbUsername 'usuariobdd';
$dbPassword 'contraseñabdd';
$dbName 'nombrebdd';

$mysqli = @new mysqli($dbHost$dbUsername$dbPassword$dbName);


$url 'http://www.enlace.com/descarga.php?user=usuario&pass=contrasena';
$source file_get_contents($url);
file_put_contents('ficherobdd.csv'$source);


    
  
$filename='ficherobdd.csv';
  
$info = new SplFileInfo($filename);
  
$extension pathinfo($info->getFilename(), PATHINFO_EXTENSION);

   if(
$extension == 'csv')
   {
    
$filename $_FILES['file']['tmp_name'];
    
$handle fopen($filename"r");
    
$o="TRUNCATE articulos3";
     
$mysqli->query($o);
    while( (
$data fgetcsv($handle1000";") ) !== FALSE )
    {
       
$q "INSERT INTO articulos3 (ID_PRODUCTO_TALLA, EAN, MARCA, ID_MODELO, MODELO, TALLA, COLOR, PRECIO_RECOMENDADO, PRECIO, REFERENCIA, NOMBRE, GENERO, CATEGORIA, TEMPORADA, FABRICADOS_EN, LICENCIA, MATERIAL_EXTERIOR, SUELA, MATERIAL_INTERIOR, PLANTILLA, TIPO_PUNTA, TIPO_CIERRE, ALTURA_CANA, ALTURA_TACON, ALTURA_PLATAFORMA, OTROS_DETALLES, IMAGEN, IMAGEN2, IMAGEN3, IMAGEN4, IMAGEN5, STOCK)
             VALUES ('$data[0]', '$data[1]', '$data[2]', '$data[3]', '$data[4]', '$data[5]', '$data[6]', $data[7], $data[8], $data[9], '$data[10]', '$data[11]', '$data[12]', '$data[13]', '$data[14]', '$data[15]', '$data[16]', '$data[17]', '$data[18]', '$data[19]', '$data[20]', '$data[21]', '$data[22]', '$data[23]', '$data[24]', '$data[25]', '$data[26]', '$data[27]', '$data[28]', '$data[29]', '$data[30]', $data[31])"
;
    
$mysqli->set_charset("utf8");
    
$mysqli->query($q);
   }

      
fclose($handle);
   } 
Gracias de antemano



La zona horaria es GMT -6. Ahora son las 01:34.