Ir para conteúdo
Cavernadoj

Busca interna no site sem bd

Recommended Posts

Olá, meu nome é João Pedro e eu tenho que criar um sistema de busca interna no site e estou com problema para fazer as buscas em subpastas.

eu consigo pesquisar o conteudo na pasta principal e o codigo me retorna os resultados sem problema.

Eu não entendo muito de php, e eu não posso usar um bd porque eu tenho os arquivos para serem pesquisados, não quero cadastrar arquivo por arquivo no bd

 

Esse é o codigo, uma parte dele veio de um tutorial na internet:

 

<form id="form_busca" name="form_busca" method="POST">
  <!--<label for="textfield">Text Field:</label>-->
  <input type="text" name="txt_palavra" id="txt_palavra">
  <input type="submit" name="bt_buscar" id="bt_buscar" value="buscar">
</form>

 

<?php

if(isset($_POST)){
    if(isset($_POST["txt_palavra"])){
        $txt_palavra = $_POST["txt_palavra"];

if($txt_palavra) {
$palavra = $txt_palavra;
$numero = 0; // não alterar
$diretorio = "conteudo"; // diretório para a busca

 

// *.* é todos arquivos de todas estensões do diretório
foreach (glob("$diretorio/*.*") as $arquivo) {
$separa = explode("/", $arquivo);
$path_parts = pathinfo($arquivo);

$caracteres = array("_", "!");
    
$nome_do_arquivo_tratado = str_replace ($caracteres," ",$path_parts['filename']);


if(strstr($separa[1], $palavra)==TRUE) {

echo "<a href='".$arquivo."'>".$nome_do_arquivo_tratado."</a><br/>";

/*//Essa linha funciona mas não insere espaços no nome do arquivo
echo "<a href='".$arquivo."'>".$path_parts['filename'], "\n"."</a><br/>";*/    
    
//print "$separa[1]<br>";

$numero++;
}
}
echo "Foram encontrado(s) $numero arquivo(s).";
}
}
}
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora

×

Informação importante

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