buscando uma imagem em um diretorio
07/05/2013
0
sou novo no forum e estou precisando de uma ajuda...
estou aprendendo php e estou com uma duvida, vou tentar explicar o que estou fazendo
minha ideia é criar um tipo de dicionario ilustrado que funciona da seguinte forma...
em um textbox eu digito uma palavra, por exemplo "casa" ai cliko no botão para pesquisar, essa pesquisa estara buscando dentro de uma pasta em meu pc, tipo pasta "FOTOS" assim que ele encontrar a palavra casa, que na verdade estara como imagem casa.JPG ele tem que me mostrar na minha pagina php a imagem da casa...
não sei se fui claro na explicação... pensei em fazer com BD mas o meu prof, falou que o banco pode ficar muito carregado.
aguardo uma ajuda de vcs...
tenha um otimo dia
Guicruz_1983
Posts
07/05/2013
Vinícius Tavares
Cara a ideia é basicamente ler o nome de arquivos dentro de um diretório e pesquisar o nome do jpg.
Basicamente vc utilizará a função scandir para ler o conteudo do diretório:
<?php $diretorio = '/caminho/para/diretorio/fotos'; $lista_dir = scandir($diretorio); print_r($lista_dir);
Depois utilize um FOREACH para percorrer o array e pesquisar o nome do arquivo. Guardando todos os nomes que forem encontrando. Acho que é isso.
Uma sugestão para incrementar seu projeto. Seu professor está correto, guardar arquivos no MySql não é a melhor opção. Mas você pode usar o Banco de Dados como um catalogo com o nome, descrição e caminho da foto. Isso vai agilizar e muito na pesquisa, já que um banco de dados trabalha melhor com coleções e você poderá utilizar vários niveis de subdiretorios.
Espero ter ajudado.
07/05/2013
Guicruz_1983
vc poderia me dar uma ideia melhor sobre o foreach, pois li algo sobre e não entendi muito bem, percebi que ele percorre o array mas não entendi como serão inseridos os itens da minha pasta dentro da sintaxe...
outra coisa a função fica no botão?
abaixo segue a pagina que ainda estou montando
<html>
<head>
<title> >>>>:: Dicionario ::<<<< </title>
<center><p><p><font face = "verdana" size = "4" color = "blue"><b>Dicionario</b>
<p><img src="logo.jpg">
</center>
<center><font face = "verdana" size = "3" color = "blue"><b>Seja Bem Vindo</b><p>
<center><font face = "verdana" size = "2" color = "blue">insira abaixo a palavra<p></b></font>
</p>
<tr>
<td>Palavra</td>
<td><label>
<input name="txtPalavra" type="text" id="txtPalavra" size="50" maxlength="50" />
</label></td>
</tr>
<p>
<label>
<input type="submit" name="btnBuscar" id="btnBuscar" value="Buscar" />
</center>
</head>
</html>
isso não vai ajudar muito mas...
desculpe a inexperiencia ainda
07/05/2013
Vinícius Tavares
O loop FOREACH é a maneira mais fácil de percorrer um array. Para cada interação, você pode pesquisar a linha do array, comparando com a palavra digitada.
<?php //Depois de realizar toda a pesquisa no diretorio //Crio o array que vou guardar os arquivos encontrados $arquivos_encontrados = []; //Percorrer o array com diretorios foreach ($lista_dir as $arquivo) { // Verifica se o item do array é a palavra chave digitada if ($pesquisa == $arquivo) { $arquivos_encontrados[] = $arquivo; } } ?>
Claro que você pode incrementar este código. Permitindo a pesquisa por parte da palvra. Por exemplo a pessoa digita a palavra CASA e vc tb vai pesquisar CASAS.
Sobre a pergunta de onde estará o código, você com certeza colocará uma tag <FORM> com o atributo ACTION. Você pode chamar um arquivo .php com toda sua lógica e linkar no ACTION do formulário de pesquisa. Você sabe fazer isso?
08/05/2013
Guicruz_1983
08/05/2013
Vinícius Tavares
Você terá um arquivo html com o formulario de pesquisa ( Edit e Botão). E no Action do form vc vai colocar um arquivo PHP com a logica.
- Arquivo HTML - Com formulario
- Arquivo PHP - Com logica e mostrar imagem.
Em qual ponto está tendo dificuldades?
08/05/2013
Guicruz_1983
eu criei a pagina principal, nela esta linkando com a pagina de pesquisa, nessa pagina de pesquisa tenho um textbox que pretendo digitar a palavra de busca, e tenho o botão para mandar o comando de busca, só montei o basico ainda... pelo que conheco um pouco de delphi creio que os comando serão inseridos dentro do botão pesquisar, ele que fara a ação de buscar dentro do diretorio, ai sera apresentado ao lado a imagem recuperada...
08/05/2013
Vinícius Tavares
Cola seu código ai. Vamos ver o que posso te ajudar.
09/05/2013
Guicruz_1983
deletei todo o codigo que estava errado, pois não funcionava nada..
no trabalho tem varias outras paginas como, informações de libras, contatos, imagens entre outras coisas, mas tudo mais simples em html e jsp
<html> <head> <title> >>>>:: Dicionario de Libras ::<<<< </title> <center><p><p><font face = "verdana" size = "4" color = "blue"><b>Dicionario de Libras</b> <p><img src="logo.jpg"> </center> <center><font face = "verdana" size = "3" color = "blue"><b>Seja Bem Vindo</b><p> <center><font face = "verdana" size = "2" color = "blue">insira abaixo a palavra<p></b></font> </p> <tr> <td>Palavra</td> <td><label> <input name="txtPalavra" type="text" id="txtPalavra" size="50" maxlength="50" /> </label></td> </tr> <p> <label> <input type="submit" name="btnPesquisar" id="btnPesquisar" value="Pesquisar" /> </center> </head> </html>
eu estava tentando jogar os comandos dentro do botão pesquisar mas não deu certo
09/05/2013
Vinícius Tavares
Eu fiz um pequeno exemplo de como seria um formulario, a leitura do valor do edit e imprimir na mesma pagina. Tente adaptar a suas necessidades. Qualquer coisa é só falar.
<?php // Verifica se o formulario foi submetido. // Alimentar a variavel de retorno para mostrar posteriormente // Poderia ser um array com nome de arquivos if(isset($_POST['submit'])) { $retorno = $_POST['nome']; } else { $retorno = 'Digite o nome no Edit'; } ?> <html> <head> <title> Teste </title> </head> <body> <form method = "post" action = "<?php echo $_SERVER['PHP_SELF']; ?>"> <input type = 'text' name = 'nome'> <input type = 'submit' name = 'submit'> </form> </body> </html> <?php echo "Palavra Digitada : <b> $retorno </b><br>"; echo "Se fosse uma imagem seria (Veja o fonte): <img src = '$retorno.jpg'>"; ?>
Só um dica. Você deve tomar mais atenção as tag do html. Você esta abrindo e fechando de forma errada. Qual editor esta utilizando?
09/05/2013
Guicruz_1983
10/05/2013
Guicruz_1983
15/05/2013
Vinícius Tavares
Coloque o código ai para analisar melhor.
15/05/2013
Guicruz_1983
Clique aqui para fazer login e interagir na Comunidade :)