Ir para conteúdo

POWERED BY:

Arquivado

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

grasi

Mostrar Arquivo

Recommended Posts

Boa tarde gente!Estou com uma super dúvida! Fiz um formulário que tem 2 botões radio, uma caixa de texto pra entrar somente com o mes_ano e o botão Pesquisar!É o seguinte, esse formulário deve pesquisar em um determinado diretório (dependendo de um dos radio selecionado, o caminho do diretório vai mudar) e a data da caixa de texto é porque esse é o nome do arquivo. Exemplo: 01_2004.htmlEsse arquivo .html que vai ser pesquisado é pra carregar em outra janela!Fico grata por qualquer ajuda!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom... aqui está prontinho acobo de termina-lo e esta 100% funcional, agora estou tentando aprender como paginar o resultado deste array, que contem uma palavra a ser pesquisada ou o nome de um arquivo existente no diretório. $pt = explode(" ", microtime()); $inicio = $pt[1].substr($pt[0],1);$pesquisa_palavra = "sua";$ext = "txt,php";$filtro = explode(",", $ext);$cont_filtro = count($filtro);$root_path = "/internet/teste";$arqui_pesquisado = 0;$arqui_percorrido = 0;$arqui_encontrado = 0;$handle = @opendir($root_path);while (false !== ($file_find = readdir($handle))) { $achou = 0; if ($file_find != "." && $file_find != "..") { $arqui_pesquisado++; $step_file_find = explode (".", $file_find); for ($i=0; $i<$cont_filtro; $i++) { if ($step_file_find[1] == $filtro[$i]) { $arqui_percorrido++; $abre_arqui = file($file_find); $conta_linha = count($abre_arqui); for ($j=0; $j <= $conta_linha; $j++) { if (stristr($abre_arqui[$j], $pesquisa_palavra)) { $achou++; if ($achou == 1) { $sele_file = $file_find; $arqui_encontrado++; } # if ($achou == 1) } # if (stristr($abre_arqui[$j], $pesquisa_palavra)) if ($conta_linha == $j && $achou != 0) { $quantas = $achou; $sele_file_find[$sele_file] = array($quantas); //$sele_file[] = array($quantas); } # if ($conta_linha == $j && $achou != 0) } # for ($j=0; $j<$conta_linha; $j++) } # if ($step_file_find[1] == $filtro[$i]) } # for ($i=0; $i<$cont_filtro; $i++) } # if ($file_find != "." && $file_find != "..")} # while (false !== ($file_find = readdir($handle)))closedir($handle);while(list($key1) = each ($sele_file_find)){ echo $key1; while(list($key2, $val) = each($sele_file_find["$key1"])){ echo " - ".$val."<br>\n"; } # while } # whileecho "contado<br>\n";echo count($sele_file_find)."<br>\n";echo "Total de arquivos: ".$arqui_pesquisado."<br>\n"; echo "Arquivos que atendem o filtro: ".$arqui_percorrido."<br>\n";echo "Arquivos que contém a palavra: ".$arqui_encontrado."<br>\n";$pt = explode(" ", microtime());$total = ($pt[1] . substr($pt[0], 1)) - $inicio;echo "<p align=\"center\"><font style=\"font-size:9px\"><i>A busca durou " . substr($total,0,4) . " segundos</i></font></center></p>";

Compartilhar este post


Link para o post
Compartilhar em outros sites

D´Sant fico agradecida pela atenção mas acho que não devo ter explicado direito minha dúvida, então vou detalhar! ^_^ eu não preciso percorrer o arquivo para procurar palavras chaves, eu tenho apenas que buscar por um determinado arquivo .html. Eu mando procurar pelo arquivo que montou o nome de acordo com a data que entrei no formulário (01_2004.html), pela opção marcada no botão radio vai ser em tal diretório pra buscar esse arquivo. :) Quando achar esse arquivo (.html) não quero que tenha link, ele vai mostrar esse arquivo em outra pagina. (target=_blank)Ai, espero não ter complicado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Gente andei fazendo uma pesquisa e readfile faz exatamente o que eu quero, mas mesmo assim não está dando certo. Eis um trecho do programa:onde $mDir guarda o caminho do arquivo. if ($radio0 == 'X' ) { $mDir = "/a/" ; } if ($radio1 == 'X' ) { $mDir = "/b/" ; } if ($radio2 == 'X' ) { $mDir = "/c/" ; } $mMes = substr($mData,0,2); $mAno = substr($mData,3,4); $mData = $mMes._.$mAno; $mMapa = $mDir.$mData.".html"; readfile ("$mMapa");fica dando o erro Warning: readfile(/a/01_2004.html): failed to open stream: No such file or directory Não estou entendendo, pois os nomes dos diretórios e o nome do arquivo estão corretos, o arquivo está lá. :mellow:

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.