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

Sistema De Busca Pelo Nome Do Arquivo...


cique

Pergunta

Amigos...

Estou com um pequeno problema...

O script a seguir faz a busca pelo nome 'exato" do arquivo em um diretorio $rootpath no caso..... O que eu queria ajuda.. é faz para que ele buscasse não o nome exato do mesmo mais sim em partes por exemplo se coloco 3001_abc ele axa... já se coloca só 3001 ele não axa...

alguém poderia me dar uma dica de como poderia arrumar este sxcript para realizar o que eu desejo?


<?php

$rootpath  = '<- diretorio aqui ->';

$formatos = array(".gif", ".jpg", ".mp3", ".mid", ".jar", ".jad");

$buscaarq = $_POST[busca];

if ($buscaarq) {

    $resultados = 0;

    for ($i=0; $i<=count($formatos); $i++) {

        $arquivo = $rootpath.$buscaarq.$formatos[$i];
      
        if (file_exists($arquivo)) {

            $link[$resultados] = "<a href=\"$arquivo\">$buscaarq.$formatos[$i]</a>";

            $resultados++;
        }
    }   

    if ($resultados==0) {

        echo "Não Foram Encontrados Resultados!\n";

    } else {

        echo "Foram Encontrados $resultados Resultados\n";

        $i=0;

        while (isset($link[$i])) {

            echo $link[$i];

            $i++;
        }
    }

} else {
                        
?>                
                
    <form action="<? echo $_SERVER['PHP_SELF']; ?>" method="POST">

    <input type="text" name="busca"> <label for="busca">Busca:</label>

    <input type="submit" name="enviar" value="Enviar">

    </form>

<?php
}
?> 

Grato

Cique;)

Contato/MSN: cique@cique.net

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

Com a função file_exists() você não conseguirá fazer busca por parte do arquivo.

Acho que o método mais apropriado seria você usar banco de dados ou criar um arquivo com o nome de todos os arquivos e usar Expressões Regulares para buscar o arquivo. Isso iria economizar um bom tempo de processamento no caso de muitos registros.

Se tiver poucos registros, use a função scandir() do PHP5. Se você usar o PHP4, tem uma alternativa nessa mesma página. Isso irá criar uma array com todos os nomes de arquivos do diretório, daí você faz um loop e encontra registros que contem o mesmo nome. Exemplo:

Link para o comentário
Compartilhar em outros sites

  • 0

Meu amigo obrigado pela resposta....

Porem tenho um probleminha não conheço muito php a ponto de arrumar o script hehhe

Então o meu amigo arrumou o script para ler maisd diretorios mais axo k ele não fez o que você disse....

Segue o codigo


<?php

$diretorios  = array( <- diretorios - >);

$formatos = array(".gif", ".jpg", ".mp3", ".mid", ".jar", ".jad");

$busca = $_POST[busca];

if ($busca) {

    $r = 0;

    for ($a=0; $a<=count($diretorios); $a++) {

        for ($b=0; $b<=count($formatos); $b++) {

            $caminho = $diretorios[$a].$busca.$formatos[$b];
      
            if (file_exists($caminho)) {

                $link[$r] = "<a href=\"$caminho\">".$busca.$formatos[$b]."</a>";

                $r++;
            }
        }
    }   

    if ($r == 0) {

        echo "Não Foram Encontrados Resultados!\n";

    } else {

        echo "Foram Encontrados $r Resultados\n";

        $i=0;

        while (isset($link[$i])) {

            echo $link[$i];

            $i++;
        }
    }

} else {
                        
?>                
                
    <form action="<? echo $_SERVER['PHP_SELF']; ?>" method="POST">

    <input type="text" name="busca"> <label for="busca">Busca:</label>

    <input type="submit" name="enviar" value="Enviar">

    </form>

<?php
}
?> 

Gostaria de saber como posso arrumar este codigo ai como você disse.... desculpe ser tão ignorante mais infelizmente ainda não conheço a tal ponto...

Grato

Cique....

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,1k
×
×
  • Criar Novo...