Ir ao conteúdo

Posts recomendados

Postado

Caros amigos

 

Desculpa recorrer a ajuda dos amigos, mas estou com uma dúvida.

 

Gostaria de Impedir a Importação de Arquivo .TXT em duplicidade.

 

Por exemplo, tenho o seguinte arquivo .TXT:

1005;2015;1000

1005;3017;1000

1005;4019;1000

 

O campos seriam:

1005 o número do arquivo gerado pelo sistema

2015 o número do produto

1000 a quantidade requerida

 

Tenho o seguinte código que uso para realizar a Importação do .TXT (funciona corretamente).

	 <?php

    //Variável Passada da Página Anterior
    $cotaIdGet = isset($_GET['cotaId']) ? $_GET['cotaId'] : false;
    $cotaId    = isset($_POST['cotaId']) ? $_POST['cotaId'] : $cotaIdGet;   

    $cotaNumeroGet = isset($_GET['cotaNumero']) ? $_GET['cotaNumero'] : false;
    $cotaNumero    = isset($_POST['cotaNumero']) ? $_POST['cotaNumero'] : $cotaNumeroGet;       


      //Função para importar Arquivo
	    function Inserir($itens, Pdo $pdo){
	        $sts = $pdo->prepare("INSERT INTO cotacaoItens(cotaNumImport, codProdClie, cotaQtde, cotaId, clienteId, cotaNumero) 
                                VALUES(?,?,?,?,?,?);");  

	        $sts->bindValue(1, $itens[0], PDO::PARAM_STR);
	        $sts->bindValue(2, $itens[1], PDO::PARAM_STR);        
	        $sts->bindValue(3, $itens[2], PDO::PARAM_STR);		        
            $sts->bindValue(4, $itens[3], PDO::PARAM_STR);        
            $sts->bindValue(5, $itens[4], PDO::PARAM_STR);          
            $sts->bindValue(6, $itens[5], PDO::PARAM_STR);                  
	        $sts->execute();
	        $sts->closeCursor();
	        $sts = NULL;
	    }
			
	    if (!empty($_FILES['arquivo'])) {

	        $Pdo  = new PDO("mysql:host=localhost; dbname=siscota", "root", "");
	        $file = fopen($_FILES['arquivo']['tmp_name'], 'r');

	        while (!feof($file)){
	            $linha = fgets($file);          
	            $itens = explode(';', $linha);     
                $itens[] = $cotaId; 
                $itens[] = $clienteId;                 
                $itens[] = $cotaNumero;               
	          Inserir($itens, $Pdo);
	        }
	    }

	?>

    <form id="cotaItens" name="cotaItens" action="" method="post" enctype="multipart/form-data">
   
      <span>Adicionar os Itens da Cotação:</span>
      <p class="p_esp">
        <label>
          <h2>&nbsp;&nbsp;&bull; importar somente arquivo .TXT &nbsp;&nbsp;&raquo;
            <input type="file" name="arquivo" id="arquivo" />
            <input type="submit" name="confirmar" value="Confirmar" />
          </h2>
        </label>
      </p>

      <input type="hidden" name="cotaId" value="<?php echo $cotaId;?>" />
      <input type="hidden" name="cotaNumero" value="<?php echo $cotaNumero;?>" />     

   </form>  

 

COMO FAÇO PARA NÃO DEIXAR IMPORTAR NOVAMENTE O ARQUIVO .TXT ?

 

Grato,

 

Renato

Postado

Caro amigo DiF

 

Conforme sua orientação LI o manual, entendi a lógica, mas infelizmente não tive sucesso em adaptar ao meu código acima.

 

Por favor, poderia me ajudar ?

 

Grato,

 

 

  • Moderador
Postado

Então, 

Basicamente você precisa criar um tipo de controle baseado sempre no último arquivo enviado, excepcionalmente para o tipo de coisa que você esta fazendo.

 

 

Existem N maneiras de resolver... como por exemplo,  inserir o nome do arquivo em uma sessão e comprar,

inserir o nome do arquivo em um campo do seu banco de dados e aí antes de fazer o upload você verifica se há algum registro com o nome do arquivo..

 

enfim... tem várias possibilidades ate mesmo de colocar o próprio arquivo em uma sessão e comparar.

 

 

 

 

 

 

 

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!