Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Upload de imagens

Olá Professor e comunidade, estou com um projeto em mãos, uma parte dele consiste em ter um local onde o usuário poderá fazer apload de imagens, uma espécie de portfólio, essas imagens serão separadas por pastas, na página principal serão mostradas as imagens que o usuário fez o upload.

Pois bem, a lógica que eu imaginei resia da seguinte maneira.

ESCRITA

  1. Será criada a pasta no diretório apontado,

  2. os arquivos serão gravados na pasta criada acima

LEITURA E DISPLAY

  1. Na leitura, crio um FOR para ler o diretório principal e depois preencher um ARRAY com os itens do diretorio principal.

  2. Para cada posição do ARRAY do diretório principal, escrevo outro FOR dentro do anterior preenchendo outro ARRAY contendo os itens dos subdiretorios, nesse caso as imagens.

gostaria de saber se há outra menira de fazer esse sistema de forma mais rápida ou armazenando essas imagens em banco, pois ainda não vi essa possibilidade de armazenar imagens em banco.

Obrigado.

3 respostas
solução!

Olá Romeu, vamos lá. Para interar um diretório temos uma classe no PHP para fazer isso que é a DirectoryIterator. E o código para listar todos os arquivos de um diretório por exemplo pode ser feito como abaixo:

<?php

foreach (new DirectoryIterator('../fotos') as $fileInfo) {
   // pula o '.'
    if($fileInfo->isDot()) continue;
    echo $fileInfo->getFilename() . "<br>\n";
}

Sobre salvar as imagens no banco não é uma boa ideia pois com muitos registros qualquer consulta na tabela que salva as imagens ia se tornar extremamente lenta. Minha sugestão é salvar a imagem em uma pasta e no banco de dados você salva o caminho para a imagem. Algo como 'imagens/upload/foto.png'.

Espero ter ajudado.

Abraços e bons estudos.

certo entendi, implementar o código acima, muito obrigado!

Professor, tentei seu método e também tentei esse e tbm funcionou, muito obrigado!!

<?php $dir = "portfolio"; $subDir = scandir($dir);

for($i=2; $i