Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
salve galera beleza?? seguinte... to com um grande problema aqui... tenho um arquivo csv com mais de 15.000 linhas tenho q fazer a importação do mesmo porem to infrentando erro de CGI provavelmente por tempo de execução... so que utilizei alguns comandos (ini_set("max_execution_time", "10800"); ou set_time_limit(10800);) e mesmo assim continuam dando esse mesmo erro.. eu ainda nem tava importando pro banco tava tentando so fazer a leitura dos dados... vou colocar aqui a maneira como eu estou fazendo... se alguem conseguir me dar uma ideia de como poderia melhorar o desempenho desse processo eu agradeceria MUITO...
Segue:
function GetKey($table, $name){ if($table != "" || $name != ""){ $key = $table."_id"; $SQLBusca = query("select $key from $table where upper(nome) = upper('$name') LIMIT 1"); $Lin = fetchRecords($SQLBusca); $codigo = $Lin[0]; if (strlen($codigo)){ return $codigo; } else { query("insert into $table(nome) values ('$name')"); $SQLLinset = query("select $key from $table where upper(nome) = upper('$name') LIMIT 1"); $RESLinset = fetchrecords($SQLLinset); return $RESLinset[0]; } }else{ return ""; }} ________________________________________________________________________________________ $filename = $_FILES['arquivo']['tmp_name']; $dataFile = fopen( $filename, "r" ); if($dataFile){ ini_set("max_execution_time", "10800"); set_time_limit(10800); $array = array(); $texto; $cont = 0; $texto = file($filename); for ( $x = 1; $x <= count($texto); $x++ ) { $array = explode(';',$texto[$x]); $ddd = substr($array[0],0,2); $telefone = substr($array[0],2); $municipio = GetKey('cidade',$array[1]); $tp_logradouro = GetKey('tipo_logradouro',$array[2]); $logradouro = GetKey('logradouro',$array[3]); $localizacao = GetKey('localizacao',$array[7]); $num = $array[4]; $bairro = $array[5]; $ponto_referencia = $array[6]; $insertTP = "insert into tp(ddd,numero,tipo_logradouro_id,logradouro_id,num,bairro,ponto_referencia,localizacao_id,cidade_id) values ($ddd,$telefone,$tp_logradouro,$logradouro,$num,'".$bairro."','".$ponto_referencia."',$localizacao,$municipio)"; } }else{ die("Não foi possivel ler o arquivo!"); }
se alguem puder me ajudar... agradeceria...
PS: antes eu utilizava a leitura de linha por linha do arquivo ainda aberto... ficava mais lento ainda... ehhee.. valeu...
Carregando comentários...