Skip to content

Mini-CMS de Galeria usando PHP POO, Upload de Arquivos e persistência de dados com PDO (PHP Data Objects) no banco de dados SQLite.

License

Notifications You must be signed in to change notification settings

NinoMiquelino/php-pdo-gallery

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

👨‍💻 Autor


Onivaldo Miquelino
@ninomiquelino

🖼️ PHP PDO Image Gallery (SQLite & POO)

Made with PHP Frontend JavaScript TailwindCSS License MIT Status Stable Version 1.0.0 GitHub stars GitHub forks GitHub issues

Este projeto demonstra a integração completa de Upload de Arquivos, Programação Orientada a Objetos (POO) e persistência de dados com o PDO (PHP Data Objects), o padrão de segurança para interagir com bancos de dados em PHP.


💾 Recursos Principais

  • PDO e SQLite: O projeto usa o PDO para se conectar a um banco de dados SQLite (que é um arquivo único, perfeito para desenvolvimento). Isso ensina o uso de Statements Preparados (melhor segurança contra SQL Injection).
  • POO: Duas classes são usadas para organizar a lógica:
    • Database.php: Gerencia a conexão e a inicialização da tabela.
    • GalleryManager.php: Gerencia a lógica de upload de arquivo e as operações de INSERT/SELECT no banco.
  • Upload e Metadados: Salva o arquivo da imagem no sistema de arquivos e o título/descrição/caminho no banco de dados.
  • Frontend: Exibe a galeria buscando os metadados do banco via AJAX (fetch GET).

🧠 Tecnologias utilizadas

  • Backend: PHP 7.4+ (POO, PDO, Manipulação de Arquivos).
  • Banco de Dados: SQLite (via PDO).
  • Frontend: HTML5, JavaScript Vanilla, fetch API e Tailwind CSS.

🧩 Estrutura do Projeto

php-pdo-gallery/
├── index.html
├── api.php
├── Database.php
├── GalleryManager.php
├── README.md
├── .gitignore
├── 📁 uploads/
└── gallery.sqlite

⚙️ Configuração e Instalação

Pré-requisitos Críticos

  1. Um ambiente de servidor web com PHP.
  2. A extensão PDO SQLite precisa estar habilitada no seu php.ini (geralmente extension=pdo_sqlite ou extension=php_pdo_sqlite.dll).

1. Estrutura e Arquivo de Dados

  1. Crie a estrutura de pastas.

  2. Crie a pasta de uploads: mkdir src/uploads

  3. Defina as permissões: Garanta que a pasta src/uploads e a pasta src/ (onde o arquivo gallery.sqlite será criado) tenham permissão de escrita para o usuário do servidor web (ex: chmod 777 src/uploads/ e chmod 777 src/).

    O arquivo gallery.sqlite será criado automaticamente na primeira vez que você carregar a página, graças à lógica no Database.php.

2. Executar o Servidor

Utilize o servidor embutido do PHP para testes (a partir da raiz do projeto):

php -S localhost:8001

📝 Instruções de Uso

​1. Acesse a aplicação no navegador. ​2. Preencha o Título e a Descrição. ​3. Selecione uma imagem (JPG, PNG ou GIF). ​4. Clique em "Fazer Upload" (POST). ​5. O PHP: ​Salvará o arquivo na pasta src/uploads/. ​Inserirá os metadados na tabela images do arquivo src/gallery.sqlite. ​6. A galeria recarregará (fetch GET) e exibirá a nova imagem, com seus metadados vindo do banco de dados. ​Você pode inspecionar o arquivo gallery.sqlite com ferramentas como DB Browser for SQLite para ver a tabela images e seus dados.


🤝 Contribuições

Contribuições são sempre bem-vindas!
Sinta-se à vontade para abrir uma issue com sugestões ou enviar um pull request com melhorias.


💬 Contato

📧 Entre em contato pelo LinkedIn
💻 Desenvolvido por Onivaldo Miquelino


About

Mini-CMS de Galeria usando PHP POO, Upload de Arquivos e persistência de dados com PDO (PHP Data Objects) no banco de dados SQLite.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published