Ir para conteúdo
Fórum Script Brasil
  • 0

Ler Txt


sorocabaunderground

Pergunta

eu montei um script que ele pega um TXT lê e dependento do flag que tem no txt ele altera,deleta ou inclui

ex:.

a| casa teste |

i | casa teste2 |

d| casa teste 3 |

as seções do site que utilizam esse esquema de TXT são imoveis,fotos,bairros e cidades

até aqui está tudo normal tinha terminado o projeto eu já tinha feito 1 pra cada seção

+ agora o cliente quer fazer tudo em um unico script.

aí entro no meu problema

ele esta mandando assim o txt

[imoveis]

a| casa teste |

i | casa teste2 |

d| casa teste 3 |

[bairros]

a| casa teste |

i | casa teste2 |

d| casa teste 3 |

[cidades]

a| casa teste |

i | casa teste2 |

d| casa teste 3 |

[fotos]

i | casa teste2 |

d| casa teste 3 |

so que não estou conseguindo dizer ao script aqui acaba os imoveis e agora começa os bairros e assim por diante

como posso fazer isso?

o meu script

$file = "c:/arquivos de programas/easyphp1-7/www/intermedial/site/adm/txt/".$arquivo."";
$v_key="nL9qL8ZLc3";
$erro = "";
$sucesso = "";
$errors = "";
$v_id="";
$conta=0;
if ($key<>$v_key){
    $erro= $erro."Chave inválida!<br>";
}

if ($erro==""){
        
    $txt_exists="c:/arquivos de programas/easyphp1-7/www/intermedial/site/adm/txt/".$arquivo."";
    if (file_exists($txt_exists)){
        $txt=file($txt_exists);
        
        for ($i=1;$i<sizeof($txt);$i++){
            $v_line=explode("|", $txt[$i]);
            //echo $v_line[14]."<br>";
            
            //classifica tipo
            if ((strtolower($v_line[14])==strtolower("L"))AND($v_line[14]<>"")){
                $tipo="locacao";
            }elseif ((strtolower($v_line[14])==strtolower("V"))AND($v_line[14]<>"")){
                $tipo="venda";
            }elseif ((strtolower($v_line[14])==strtolower("A"))AND($v_line[14]<>"")){
                $tipo="ambos";
            }
            
            // fim do tipo
            
            if ($v_line[0]=="I"){
                
                $sql_i="INSERT INTO tbimovel(ref_imovel, tipo_imovel, vr_loc, vr_vda, cat_imovel, cat2_imovel, complemento, obs_imovel, ";
                $sql_i=$sql_i." nr_dormitorios, cod_cidade, cod_bairro, suites, vagas_garagem, area_const, area_terr, area_util) VALUES(";
                $sql_i=$sql_i." '$v_line[1]', '$tipo', '$v_line[2]', '$v_line[3]', '$v_line[4]', '$v_line[15]', '$v_line[16]', '$v_line[10]', ";
                $sql_i=$sql_i." '$v_line[7]', '$v_line[5]', '$v_line[6]', '$v_line[8]', '$v_line[9]', '$v_line[11]', '$v_line[12]', '$v_line[13]')";
                $insert=mysql_query($sql_i, $conexao);
                
                for ($x=17;$x<22;$x++){
                    //$arquivo="c:/arquivos de programas/easyphp1-7/www/emaximovel/sistema/pictures/$v_line[$x].jpg";
                    //if (file_exists($arquivo)){
                        if ($v_line[$x]<>""){
                            $sql_pic="INSERT INTO tbimagem(ref_imovel, tipo_imovel, path_imovel) VALUES('$v_line[1]','$tipo',";
                            $sql_pic=$sql_pic." '/pictures/$v_line[$x].jpg')";
                            $inserir=mysql_query($sql_pic,$conexao);
                        }
                    /*}else{
                        $erro = $erro."O arquivo <strong>$v_line[$x].jpg</strong>, referência <strong>$v_line[1]</strong> não existe, verifique se o nem foi digitado corretamente.<br>";
                    }*/
                }
                
                //echo $sql_i."<br><br>";
                //echo "incluir<br>";
                $sucesso=$sucesso."Imóvel <strong>$v_line[1]</strong> incluído com sucesso!<br>";
            }elseif($v_line[0]=="A"){
                
                $sql_a="UPDATE tbimovel SET ref_imovel='$v_line[1]', tipo_imovel='$tipo', vr_loc='$v_line[2]', vr_vda='$v_line[3]', ";
                $sql_a=$sql_a." cat1_imovel='$v_line[4]', cat2_imovel='$v_line[15]', complemento='$v_line[16]', obs_imovel='$v_line[10]', ";
                $sql_a=$sql_a." nr_dormitorios='$v_line[7]', cod_cidade='$v_line[5]', cod_bairro='$v_line[6]', suites='$v_line[8]', ";
                $sql_a=$sql_a." vagas_garagem='$v_line[9]', area_const='$v_line[11]', area_terr='$v_line[12]', area_util='$v_line[13]' ";        
                $sql_a=$sql_a." WHERE ref_imovel='$v_line[1]'";
                $alterar=mysql_query($sql_a, $conexao);
                
                for ($x=17;$x<22;$x++){
                    if ($v_line[$x]<>""){
                        //$arquivo="c:/arquivos de programas/easyphp1-7/www/emaximovel/sistema/pictures/$v_line[$x].jpg";
                        //if (file_exists($arquivo)){
                            $s_vpic="SELECT * FROM tbimagem WHERE ref_imovel='$v_line[1]'";
                            $b_pic=mysql_query($s_vpic,$conexao);
                            $row_pic=mysql_num_rows($b_pic);
                            
                            //armazenar id em array
                            while ($ver=mysql_fetch_array($b_pic)){
                                $v_id=$v_id.$ver["id"].",";
                            }
                            //fim array                            
                                
                                if ($row_pic==0){
                                    //echo $vier."INCLUIR - ";
                                    $sql_pic="INSERT INTO tbimagem(ref_imovel, tipo_imovel, path_imovel) VALUES('$v_line[1]','$tipo', ";
                                    $sql_pic=$sql_pic." '/pictures/$v_line[$x].jpg')";
                                    $inserir=mysql_query($sql_pic,$conexao);
                                }elseif(($row_pic==$conta)OR($row_pic<$conta)){                                
                                    //echo "inclui + 1 - ";
                                    $sql_pic="INSERT INTO tbimagem(ref_imovel, tipo_imovel, path_imovel) VALUES('$v_line[1]','$tipo', ";
                                    $sql_pic=$sql_pic." '/pictures/$v_line[$x].jpg')";
                                    $inserir=mysql_query($sql_pic,$conexao);                        
                                }else{
                                    //echo "ALTERAR - ";
                                    $id=explode(",",$v_id);
                                                                
                                    $sql_alt_p="UPDATE tbimagem SET ref_imovel='$v_line[1]', tipo_imovel='$tipo', path_imovel='/pictures/$v_line[$x].jpg'";
                                    $sql_alt_p=$sql_alt_p." WHERE ref_imovel='$v_line[1]' AND id='$id[$conta]'";
                                    $alt=mysql_query($sql_alt_p,$conexao);
                                }
                                
                            //contador    
                            $conta=$conta+1;                        
                        /*}else{
                            $erro = $erro."O arquivo <strong>$v_line[$x].jpg</strong>, referência <strong>$v_line[1]</strong> não existe, verifique se o nem foi digitado corretamente.<br>";
                            //echo "erro de caminho_".$v_line[$x].".jpg - ";
                        }
                    }else{
                        echo "<strong>sem foto - </strong>";*/
                    }
                    
                }
                
                //zerar contador e array
                $conta=0;
                $v_id="";
                //fim zerar
                
                //echo "<strong>alterar</strong><br><br>";
                $sucesso=$sucesso."Imóvel <strong>$v_line[1]</strong> Alterado com sucesso!<br>";
            }elseif($v_line[0]=="E"){
                
                $sql_imovel="SELECT ref_imovel, tipo_imovel FROM tbimovel WHERE ref_imovel='$v_line[1]'";
                $busca_imovel=mysql_query($sql_imovel,$conexao);
                $v_imovel=mysql_num_rows($busca_imovel);
                if ($v_imovel==0){
                    $erro = $erro."<br>Imovel Inexistente! Refefência <strong>$v_line[1]</strong><br>";
                }else{    
                    
                    $sql_exc = "SELECT path_imovel FROM tbimagem WHERE ref_imovel='$v_line[1]'";
                    $busca=mysql_query($sql_exc, $conexao);
                    $num=mysql_num_rows($busca);
                    if ($num<>0){
                        while($ver=mysql_fetch_array($busca)){
                            $path=$ver["path_imovel"];
                            unlink("c:/arquivos de programas/easyphp1-7/www/emaximovel/sistema$path");
                            //unlink("/opt/apache/htdocs/emaximovel/www/sistema$path");
                        }        
                    }
                
                
                    $sql_d="DELETE FROM tbimovel WHERE ref_imovel='$v_line[1]' AND tipo_imovel='$tipo'";
                    $delete=mysql_query($sql_d, $conexao);
                    echo "excluir<br>";
                    
                    $sql_b = "DELETE FROM tbimagem WHERE ref_imovel='$v_line[1]' AND tipo_imovel='$tipo'";
                    $exc_img=mysql_query($sql_b,$conexao);
                    
                    $sql_d = "UPDATE tbdestaques SET imovel = '0', tipo = '0' WHERE imovel='$v_line[1]' AND tipo='$tipo'";
                    $exc_dest=mysql_query($sql_d,$conexao);
                    
                    $sucesso=$sucesso."Imóvel <strong>$v_line[1]</strong> excluído com sucesso!<br>";
                }
            }
            
        }        
            
        mysql_close($conexao);
        
    }else{
        $erro = $erro."Arquivo $file Inexistente";
        //echo "arquivo inexistente";
    }
        
}

vlw

;)

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

eu usaria array...

leria todo o arquivo e colocaria em uma variavel.. uma string.. depois separaria essa sting em um array, pela funcao explode() - de uma olhada no manual -

ai eu teria em cada item do arrai uma sessao do site...

experimenta isso... ou então tenta com strrpos... acharia a posicao onde comeca e termina uma parte do site.. e ai com substr pegaria a string entre meio a isso.

http://www.php.net/manual/pt_BR/function.strrpos.php

http://www.php.net/manual/pt_BR/function.substr.php

http://www.php.net/manual/pt_BR/function.explode.php

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,6k
×
×
  • Criar Novo...