![Antiguo](http://static.forosdelweb.com/fdwtheme/images/statusicon/post_old.gif)
27/08/2010, 11:18
|
| | Fecha de Ingreso: mayo-2009
Mensajes: 53
Antigüedad: 15 años, 8 meses Puntos: 0 | |
Respuesta: cortar cadenas php Cita:
Iniciado por Nicolazo si no te sirve el formato de valores separados por coma, puedes usar expresiones regulares. Eso si, el formato debe ser igual.
Para el caso que pusiste, una linea del CSV tendria este formato:
por lo tanto, una expresion regular que tome la informacion requerida seria:
por lo tanto tu codigo php lo cambiaria a lo siguiente: Código PHP: $file = fopen ($ruta, "r"); //abro el archivo
$preg_pattern = '/^(\d+),"([^"]+)",(\d+),(\d+)$/';
// recorro los datos
while( $data = fgets($file,2048) ){
/*formo las cadena para hacer el insert
ejemplo:
(001,"Carros, Inc. - obo Maersk Line, Inc.",5129706,5129706)
para despues hacer esto:
$query = "REPLACE INTO cat_clientesR(no_centro,empresa,no_cliente,referencia_sistema) VALUES ".$vals."";
mysql_query($query,$conexion);
*/
if( preg_match( $preg_pattern , trim($data) , $matches ) ){
$no_centro = $matches[1];
$empresa = $matches[2];
$no_cliente = $matches[3];
$referencia_sistema = $matches[4];
$sql_query = "REPLACE INTO cat_clientes (no_centro,empresa,no_cliente,referencia_sistema) VALUES($no_centro,'$empresa',$no_cliente,$referencia_sistema)";
mysql_query($sql_query,$conexion);
}else{
// echo "Error en linea: '$data'<br>";
}
}
espero te sirva ! gracias a todos voy a probar el codigo de Hidek1 y Nicolazo aber si me sale en un ratito mas ando por aca aver que paso |