#!/usr/bin/php -q <? # gvim :set tab stop=2 # /*** Informacoes do cvs *** # $Author: ricardo $ # $Revision: 1.5 $ # $Date: 2004/07/08 02:43:45 $ # $Id: export.php,v 1.5 2004/07/08 02:43:45 ricardo Exp $ # $Log: export.php,v $ # Revision 1.5 2004/07/08 02:43:45 ricardo # - controle de file exist # # Revision 1.4 2004/07/08 02:42:15 ricardo # - uso de CVS # $mysql_dados['usuario'] = "root"; $mysql_dados['senha'] = ""; $mysql_dados['host'] = "localhost"; $mysql_dados['banco'] = "test"; //DELIMITADORES $delimita = ";"; if(!$argv[3]){ print "\nUso: $argv[0] arquivo tabela remove[s/n] \n(EX: $argv[0] tabela.txt tabela s (limpa a tabela clientes se existir))\n"; exit; } if(file_exists($argv[1])) { print "\nIniciando transfer�ncia para o banco de dados."; print "\nDependendo do tamanho do mesmo e da velocidade de sua m�quina isso pode demorar alguns minutos.\n\n"; //Conectando $conecta_mysql = @mysql_connect("$mysql_dados[host]","$mysql_dados[usuario]","$mysql_dados[senha]") or die ("Erro 1 - MySQL"); @mysql_select_db("$mysql_dados[banco]") or die ("Erro 2 - MySQL"); $arquivo= file("$argv[1]"); $qtdecampos = explode("$delimita",$arquivo[0]); $qtdecampos = count($qtdecampos); // Verificando se a quantidade de campos concide com o banco $fields = @mysql_list_fields("$mysql_dados[banco]", "$argv[2]", $conecta_mysql); $mqc = @mysql_num_fields($fields); if($mqc != $qtdecampos){ print "\nErro:\nQuantidade de campos no arquivo n�o corresponde a quantidade de campos no banco de dados, ou a tabela no banco de dados n�o existe.\n"; exit; } //Se tabela existir remove o conte�do caso selecionar opcao s if($argv[3]=="S" or $argv[3]=="s"){ $remove_sql="DELETE FROM $argv[2]"; mysql_query($remove_sql); } $ac = count($arquivo); unset($sql); for($x=0;$x<$ac;$x++){ $valor_campo = explode("$delimita",$arquivo[$x]); $valor_campo[0] = str_replace("\"","",$valor_campo[0]); $valor_campo[0] = str_replace('\'','',$valor_campo[0]); $sql = "INSERT INTO $argv[2] VALUES('$valor_campo[0]'"; for($y=1;$y<$qtdecampos;$y++){ $valor_campo[$y] = str_replace("\"","",$valor_campo[$y]); $valor_campo[$y] = str_replace('\'','',$valor_campo[$y]); $sql .= ",'$valor_campo[$y]'"; } $sql .= ");"; mysql_query($sql) or die("Erro 3-Mysql"); } mysql_close($conecta_mysql); print "Dados inseridos com �xito\n\n"; } else { print "\nO arquivo $argv[1] n�o existe\n"; exit; } ?>