Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Guilherme Eloi

Melhor forma de se buscar um arquivo em diretório?

Recommended Posts

Pesoal estou desenvolvendo um sistema, que busca em uma pasta no meu ftp um certo arquivo de Nota Fiscal em XML que é buscado pelo nome em um input type text normal.

 

Acontece que esse diretório vai ter cerca de 150 mil arquivos XML. (ou mais)

 

Gostaria de saber qual a melhor forma de se fazer a busca nesse diretorio, otimizando para gastar menos tempo e recursos do servidor.

 

No meu teste local atual estou usando esse codigo e esta bem rapido. Mas acredito que no servidor ftp online q estou assinando nao vai ter o mesmo desempenho que local, estou certo?

<?php

$chave = $_POST['chave'];
$arq = 'xmldivigula/'.$chave.'-nfe-proc.xml';

if (is_file($arq)) {
echo "NFe localizada com sucesso!";
echo "</br>";
echo "<a href='downloadxml.php?chave=".$chave."'>Download XML</a>";
echo "</br>";
echo "<a href='downloadpdf.php?chave=".$chave."'>Download PDF</a>";
echo "</br>";
echo "<a href='visualizarpdf.php?chave=".$chave."'>Visualizar PDF</a>";

}else{
	echo "Nenhuma NFe localizada para esse chave de acesso!";
}

Obrigado

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Esse código vai ser rápido independente do servidor.

 

Afinal, ele não esta buscando em um diretório, ele esta verificando se um arquivo existe, apenas isso.

 

Se fosse uma busca, você usaria alguma função pra capturar o nome de todos os arquivos desse diretório, e depois disso, percorreria esse array verificando se o valor informado existe dentro do nome do arquivo (por exemplo busca por 753 e todos os arquivos que no nome contém os caracteres 753 iriam aparecer). Nesse caso sim faria diferença o servidor. Mas no seu código não vai fazer diferença.

 

Até mais.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tente categorizar os arquivos, e separar em diretórios menores, como por ano/mês/dia de atualização.

 

Muitos files num mesmo diretório pode ficar bem lento.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.