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($handle, 1000, ";") ) !== 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);
}