<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DZone Snippets: export code</title>
    <link>http://snippets.dzone.com/posts</link>
    <pubDate>Mon, 08 Sep 2008 04:17:50 GMT</pubDate>
    <description>DZone Snippets: export code</description>
    <item>
      <title>PHP : Exportar CSV a mySQL / Export CSV to mySQL</title>
      <link>http://snippets.dzone.com/posts/show/4344</link>
      <description>C&#243;odigo fuente / Source code :&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;function exportarCSV_a_mySQL($fileCSV)&lt;br /&gt;{&lt;br /&gt;	$registros=0;&lt;br /&gt;&lt;br /&gt;	$ruta=$fileCSV['tmp_name'];&lt;br /&gt;&lt;br /&gt;	if(!file_exists($ruta))&lt;br /&gt;	{return false;}&lt;br /&gt;&lt;br /&gt;	$tabla=quitar_extension($fileCSV['name']);&lt;br /&gt;	&lt;br /&gt;	$borra_tabla="DROP TABLE `".$tabla."`";&lt;br /&gt;	mysql_query($borra_tabla);&lt;br /&gt;	$f=fopen($ruta,"r");&lt;br /&gt;	if($f)&lt;br /&gt;	{&lt;br /&gt;		echo "&lt;b&gt;Guardando CSV en la BDD :&lt;/b&gt;&lt;br /&gt;";&lt;br /&gt;		$contenido=fread($f,filesize($ruta));&lt;br /&gt;		fclose($f);&lt;br /&gt;		$contenido=ereg_replace("\r\n", "\n" , $contenido); // convertimos windows a unix&lt;br /&gt;		$lineas=explode("\n",$contenido);&lt;br /&gt;		$titulo=explode(";",$lineas[0]);&lt;br /&gt;		$NUM_CAMPOS=count($titulo);&lt;br /&gt;		$sql_generado_para_eliminar="";&lt;br /&gt;		$crear_tabla_campos="";&lt;br /&gt;		for($i=0;$i&lt;$NUM_CAMPOS;$i++)&lt;br /&gt;		{&lt;br /&gt;		$titulo[$i]=ereg_replace("\"", "" , $titulo[$i]); // kitamos comillas&lt;br /&gt;		$sql_generado_para_eliminar.=" AND `".$titulo[$i]."` =''";&lt;br /&gt;		$crear_tabla_campos.="`".$titulo[$i]."` varchar(60) NOT NULL";&lt;br /&gt;			if($i+1!=$NUM_CAMPOS)// si no es el ultimo , ponemos coma&lt;br /&gt;			{&lt;br /&gt;			$crear_tabla_campos.=",";&lt;br /&gt;			}&lt;br /&gt;		}&lt;br /&gt;		$crear_tabla="CREATE TABLE `".$tabla."` (".$crear_tabla_campos.") ENGINE=MyISAM DEFAULT CHARSET=latin1;";&lt;br /&gt;		mysql_query($crear_tabla);&lt;br /&gt;		$linea=1;&lt;br /&gt;		do&lt;br /&gt;		{&lt;br /&gt;			$insertar_titulos="";&lt;br /&gt;			$insertar_campos="";&lt;br /&gt;			$campo=explode(";",$lineas[$linea]);&lt;br /&gt;			for($i=0;$i&lt;$NUM_CAMPOS;$i++)&lt;br /&gt;			{&lt;br /&gt;			$campo[$i]=ereg_replace("\"", "" , $campo[$i]);&lt;br /&gt;			$insertar_titulos.=" `".$titulo[$i]."` ";&lt;br /&gt;			$insertar_campos.=" '".$campo[$i]."' ";&lt;br /&gt;				if($i+1!=$NUM_CAMPOS)// si no es el ultimo , ponemos coma&lt;br /&gt;				{&lt;br /&gt;				$insertar_titulos.=",";&lt;br /&gt;				$insertar_campos.=",";&lt;br /&gt;				}&lt;br /&gt;			}&lt;br /&gt;			$sql="INSERT INTO `".$tabla."` ( ".$insertar_titulos." ) VALUES ( ".$insertar_campos." );";&lt;br /&gt;			if(mysql_query($sql))&lt;br /&gt;			{&lt;br /&gt;			echo ". ";&lt;br /&gt;			$registros++;&lt;br /&gt;			}&lt;br /&gt;			else&lt;br /&gt;			{echo "X ";return false;}&lt;br /&gt;		$linea++;&lt;br /&gt;		}while(next($lineas));&lt;br /&gt;&lt;br /&gt;	$sql="DELETE FROM `".$tabla."` WHERE 1".$sql_generado_para_eliminar;mysql_query($sql);&lt;br /&gt;	echo "&lt;br /&gt;";&lt;br /&gt;	return $tabla;&lt;br /&gt;	}&lt;br /&gt;	else&lt;br /&gt;	{&lt;br /&gt;	return false;&lt;br /&gt;	}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;function quitar_extension($archivo)&lt;br /&gt;{&lt;br /&gt;	$extension = strrchr($archivo,".");&lt;br /&gt;	$pos=strpos($archivo,$extension);&lt;br /&gt;	return substr($archivo,0,$pos);&lt;br /&gt;}&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;C&#243;digo ejemplo de llamada / Code exmple call :&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;$tabla = exportarCSV_a_mySQL($_FILES['archivo_csv']);&lt;br /&gt;if($tabla)&lt;br /&gt;{&lt;br /&gt;echo "Export OK in mysql table : ".$tabla;&lt;br /&gt;}&lt;br /&gt;else&lt;br /&gt;{&lt;br /&gt;echo "Error in export ...";&lt;br /&gt;}&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;</description>
      <pubDate>Mon, 23 Jul 2007 10:39:41 GMT</pubDate>
      <guid>http://snippets.dzone.com/posts/show/4344</guid>
      <author>Ricardo (Ricardo m. Garc&#237;a)</author>
    </item>
  </channel>
</rss>
