Fala galera! Dando continuidade ao nosso sistema de imagens, essa semana estarei apresentando algumas melhorias no código da semana passada, seguindo as dicas passadas pelo nosso amigo Cristiano Andrade Franco que postou seu comentário nessa coluna.
Nesse artigo melhorei a parte que faz a verificação do tipo de arquivo. No nosso caso, imagens do tipo gif, jpg e png e pra isso configurei o PHP para trabalhar com o módulo Mime Magic que nada mais é que uma extensão derivada do Apache.
Instalação do Módulo Mime Magic
Segue abaixo os detalhes para configuração do módulo. Maiores detalhes consultar o www.php.net.
Aqui na minha máquina foi configurado da seguinte forma:
- Windows XP Professional
- PHP 4.3.7
- Apache 1.3.29
01. Editar o arquivo php.ini e tirar o ponto e vírgula da seguinte linha (extension=php_mime_magic.dll).
02. Adicionar ao final do arquivo php.ini:
;MIME |
03. Crie um arquivo index.php com o seguinte comando:
<? |
04. Execute o script index.php no browser e veja se a extensão foi carregada com êxito.

Segue abaixo, o script da semana passada usando a extensão Mime Magic:
<? //DIRETÓRIO
A SER PESQUISADO //EXECUTA
A FUNÇÃO QUE VAI VARRER O DIR |
Analisando o script:

Linha 42 - Especificamos
o diretório a ser varrido.
Linha 45 - Chamamos a função RetImagens que
vai nos retornar todas as imagens contidas no diretório
em um array.
Linha 51 - Verificamos se retornou alguma imagem depois
da varredura no diretório.
Linha 53 - Ordenamos as imagens.
Linha 56 - Exibimos as imagens contidas no array.
Linha 15 - Abrimos
o diretório informado.
Linha 18 - Lemos os arquivos do diretório especificado.
Linha 20 - Verificamos se é diretório (.)
ou subdidretório(..)
Linha 24 - Usando a função mime_content_type()
retornamos o tipo do arquivo.
Linha 27 - Verifico as extensões que são
permitidas, no nosso caso, estou liberando apenas as imagens gif
e jpg. Se vocês quiserem podem adicionar outras extensões
como bmp e png. Se for gif ou jpeg adicionou no array imagens[].
Linha 35 - Feito toda a varredura retorno o resultado da
função.
Resultado:
Executando o script 103.php teremos como resultado as imagens contidas no diretório:
Se o script não encontrar nenhuma imagem:

Para baixar o script, clique no link abaixo.
DOWNLOAD |
Clique AQUI e faça o download do script. |
Semana que vem tem mais. Espero que vocês tenham gostado :-)
Não deixe de nos enviar críticas ou sugestões para o próximo assunto, afinal a coluna é de vocês.
Boa semana a todos! Até mais.
Wellington
Achei ótimo esse artigo, mas teria como continuar na versão 3 com paginação ?
Wellington
Muito bom o artigo, mas queria ver a versão 3 com uma paginação, tipo, listando 50 as imagens dai ele faz 10 linhas sendo 5 colunas. Como se fosse um album de fotos, mas com paginação. do tipo 1 | 2 | 3 | 4
angelica yuri kobayashi
Olá Julio Martini, á muito tempo venho acompanhando suas colunas... E aproveitando que agora você está escrevendo sobre imagens & php, eu gostaria de saber se é possivel dar um print screen da tela pelo php e salvar a imagem, no formato jpg por exemplo..
Patrick
Como esse script poderia ser desenvolvido para Redimensiomento de Arquivos:
Suponhamos que eu não queira ficar criando links e links de diversos arquivos para download.
quando eu abrisse a página http://127.0.0.1/download.php listasse todos os arquivos que tenho nesse diretório
e em subdiretórios sendo eles .exe . zip .rar
Wellington
Nada haver seu comentário, pois olha os títulos Sistema de imagens - Parte 02, ele está trabalhando com imagem. Acho que outro comentário seria melhor enviar e-mail.
Fabricia Ribeiro
Poderia mostrar como fazer paginação na foto de exibição?
Ex: << anterior - próxima >>
Wellington
Não, tem que ser paginação do tipo
1 | 2 | 3 | 4 | 5
Fabricia Ribeiro
Essa exibição com números serve nos thumbs, eu falei na foto de exibição, sacou?
espanka
ola amigo fiz seu primieiro SCRIPT mas o segundo nao esta funcionando nao tem anda errado, copiei o arquivo magic pro final da lista do php.ini e tudo mas , so que nao encontra nenhuma foto no diretorio que eu especifico, e na pasta PHP nao tem nenhum arquivo nem dll com mime.magic nao, vc pode me ajudar ?
Marco Santos
Tendo acessado seu http://imasters.uol.com.br/artigo/2486/php/sistema_de_imagens_-_parte_02/ e vendo sua experiencia pergunto se é possivel realizar um Print Screen cliquando em um botão e salvando automaticamente essa imagem no HD. Tudo isso em PHP. Pode me instruir (orientar) para que eu possa fazer isso. Obrigado.
as imagens aparecem só aqueles quadradinhos com um X no meio como se elas não existissem, pode me dizer porque?
2001 - iMasters FFPA Informática Ltda - Todos os direitos reservados.