buscando uma imagem em um diretorio
ola pessoal, como vai?
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
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
Curtidas 0
Respostas
Vinícius Tavares
07/05/2013
Ola, tudo bem?
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:
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.
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.
GOSTEI 0
Guicruz_1983
07/05/2013
obrigado pela ajuda Vinicius...
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
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
GOSTEI 0
Vinícius Tavares
07/05/2013
gui,
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.
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?
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?
GOSTEI 0
Guicruz_1983
07/05/2013
sim ja utilizei o atributo action, creio que nessa parte não terei problema, não estou entendendo muita coisa sobre isso... meu prof. falou que é uma pagina simples e não estou conseguindo... não sei oque farei
GOSTEI 0
Vinícius Tavares
07/05/2013
Realmente seu professor esta correto, não é algo tão complicado.
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?
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?
GOSTEI 0
Guicruz_1983
07/05/2013
então vinicius, eu estava pensando em fazer tudo em uma unica pagina, até pensei que daria certo... a pagina htmleu ja fiz, agora o complicado esta na parte logica do coisa que ainda não tenho, fiz varias testes aqui mas meu conhecimento não ajudou muito...
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...
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...
GOSTEI 0
Vinícius Tavares
07/05/2013
É possivel fazer tudo em uma página sim. mas não recomendado. Porém se seu objetivo é entregar o trabalho, acredito que não terá problemas.
Cola seu código ai. Vamos ver o que posso te ajudar.
Cola seu código ai. Vamos ver o que posso te ajudar.
GOSTEI 0
Guicruz_1983
07/05/2013
então essa pagina abaixo é o html queria fazer toda em php, sendo uma unica pagina como eu pensei que daria...
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
eu estava tentando jogar os comandos dentro do botão pesquisar mas não deu certo
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
GOSTEI 0
Vinícius Tavares
07/05/2013
Gui,
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.
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?
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?
GOSTEI 0
Guicruz_1983
07/05/2013
estou trabalhando com notepad++, não tenho como utilizar outras ferramentas aqui onde estou fazendo o trab.
GOSTEI 0
Guicruz_1983
07/05/2013
é disso mesmo que eu estava precisando vinicius, adaptei o codigo na minha pagina e ficou perfeita, só estou incrementado o que estava faltando na pagina ta ficando muito boa, utilizei css pra ficar mais maneiro, estou com mais duas dificuldades em tratamento, uma é o alert, não sei onde estou errando, eu quero que quando a pessoa clika no botão pesquisar de um alerta se a palavra não existir ("Palavra ainda não cadastrada") no diretorio e tbm se ela clikar e não tiver colocado nada no edit (" por favor, insira uma palavra no campo de busca") são essas duas informações que estou precisando... se ainda poder me ajudar?
GOSTEI 0
Vinícius Tavares
07/05/2013
Você já começou a desenvolver este Alert?
Coloque o código ai para analisar melhor.
Coloque o código ai para analisar melhor.
GOSTEI 0
Guicruz_1983
07/05/2013
sim vinicius, eu cheguei a desenvolver mas estava dando erro ai deletei e mudei, vou fazer novamente o que estava fazendo e postarei para vc ver... para vc ter uma idéia estava fazendo a tela de bem vindo apois login, ele até apareceu o alert apos efetuar o login mas quando clikava no ok ele não puxava a proxima pagina. Mas postarei para vc, se possivel amanhã mesmo... obrigado
GOSTEI 0