Puede ser un poco largo el código, pero te comento.
Tengo en el mismo directorio el *.php que ejecuta el código y los archivos que quiero leer.
Ahora mismo únicamente estoy preparando la carga de la base de datos, más adelante ya moveré los archivos a su lugar asignado en la variable ruta.
Código PHP:
<?
//conector con la base de datos
$conn = mysql_connect("localhost","root","123456");
mysql_select_db("carga",$conn);
$archivo = file('datos.csv');
$lineas = count($archivo);
for($i=0; $i < $lineas; $i++){
clearstatcache();
echo '<br>el número de línea es: '. $i .' la linea dice ' . $archivo[$i] . '<br>';
$campos = explode("#", $archivo[$i]);
//@el array campos contiene un array con
$cantidad = count($campos);
$titulo = $campos[1];
$hoy = time();
mysql_query ("INSERT INTO node
(nid,vid,type,language,title,uid,status,created,changed,comment,promote,moderate,sticky,tnid,translate)
values('','','producto','es','$titulo','3','1','$hoy','$hoy','0','0','0','0','0','0')");
mysql_query ("UPDATE node SET vid = LAST_INSERT_ID() where nid=LAST_INSERT_ID()");
for ($a= 0; $a<$cantidad; $a++){
echo 'el campo número:'. $a .' contiene la información: '. $campos[$a] .'<br>';
}
//insertamos los valores de las taxonomías y los nodos en term_node
$consultar = mysql_query("SELECT nid from node ORDER BY nid DESC LIMIT 0,1");
$ultimoid = mysql_fetch_object ($consultar);
print '<br>'. $ultimoid->nid .'ultimoid <br>';
print '<br>'. $campos[3] .' archivo 3 <br>';
mysql_query ("INSERT INTO term_node (nid ,vid,tid) VALUES ('$ultimoid->nid','$ultimoid->nid',$campos[3])");
//carga de datos en el archivo files, aquí se define los elementos adjuntados.
//@campos[4] es para imágenes
$ruta1 = 'sites/default/files/'.$campos[4];
$peso1 = filesize($campos[4]);
mysql_query ("INSERT INTO files (fid, uid, filename, filepath, filemime, filesize, status, timestamp)
VALUES ('','3','$campos[4]','$ruta1','aplication/pdf','$peso1',1,'$hoy')");
print $campos[4] .'este es el nombre del archivo <br>';
print $ruta1 .' esta es la ruta 1 del archivo<br>';
print $peso1 .' este es el peso del archivo<br>';
//carga de datos en el archivo files, aquí se define los elementos adjuntados.
//@campos[5] es para pdf
$ruta2 = 'sites/default/files/'.$campos[5];
$peso2 = filesize($campos[5]);
mysql_query ("INSERT INTO files (fid, uid, filename, filepath, filemime, filesize, status, timestamp)
VALUES ('','3','$campos[5]','$ruta2','aplication/pdf','$peso2',1,$hoy)");
print $campos[5] .'este es el nombre del archivo <br>';
print $ruta2 .' esta es la ruta 1 del archivo<br>';
print $peso2 .' este es el peso del archivo<br>';
}
Un saludo
O.