La situación es la siguiente:
- La base de datos (Mysql) y el servidor Apache están en un hosting externo.
- Este hosting usa un servidor para la base de datos y otro para las páginas PHP.
- Yo tengo acceso a la parte Apache, pero no al servidor de base de datos Mysql: no puedo colocar en el mismo ningún fichero a través de ftp o similar (por seguridad del hosting).
- Intento automatizar algún proceso diario a través de un PHP que se ejecutaría diariamente con el cron, en concreto la actualización del stock (es una tienda on line).
Cada una de estas fases es ok con los permisos del usuario, los nombres de la tabla, etc, cuando las voy ejecutando paso a paso en el PhpMyAdmin, excepto en el LOAD DATA INFILE
El problema viene con el LOAD DATA INFILE, ya que no encuentra el fichero en el lugar que le digo que está.
He leído en la documentación que si se pone el nombre del fichero sin ruta, Mysql considera que lo tiene en local (en este caso en el servidor de base de datos al que no tengo acceso).
En caso contrario hay que usar el LOAD DATA LOCAL INFILE, pero considerando que el ‘ordenador’ que está ejecutando el proceso es en este caso el servidor del hosting desde el que se ejecuta mi Php.
He probado de todas las formas que se me ocurren pero siempre da el mismo error de ‘file not found’.
He probado con :
LOAD DATA LOCAL INFILE ‘http://www.midominio.com/upload/stocdiario.csv’
LOAD DATA INFILE ‘http://www.midominio.com/upload/stocdiario.csv’
LOAD DATA INFILE ‘upload/stocdiario.csv’
LOAD DATA LOCAL INFILE ‘upload/stocdiario.csv’
LOAD DATA INFILE ‘./upload/stocdiario.csv’
Y otras variantes que ya no recuerdo… ¿alguien me puede orientar?
Gracias por contestar ¡
Fernando