PHP5 gravando, recuperando e deletando imagens no banco de dados MYSQL
Publicado por vitor nascimento (última atualização em 04/07/2010)
[ Hits: 14.191 ]
Download ScriptPHP.zip (versão 2)
Neste script você vai ver uma das milhares maneiras de manipular arquivos binários no banco de dados MySQL.
Versão 2 - Enviado por vitor nascimento em 25/06/2010
Changelog: Mudança na captura do tipo de arquivo e uma pequena validação.
<?php /** * Description of up * * @author Vitor Nascimento Araújo * @see e-mail nascimentvitor@yahoo.com */ if(isset ($_FILES["file"])) { if($_FILES["file"]["tmp_name"]!= NULL) { $conteudo = file_get_contents($_FILES["file"]["tmp_name"]); /*pegando conteudo do arquivo que foi enviado para upload se estiver no linux preste atenção se você tem permissão ao diretorio e ao arquivo do upload http://php.net/manual/pt_BR/reserved.variables.files.php*/ $tipo = trim(str_replace("image/", "",$_FILES["file"]["type"])); /*pega o tipo do arquivo não vo fazer validação porque o foco não é esse =) tirando a informação /image http://php.net/manual/en/function.ltrim.php http://php.net/manual/en/function.str-ireplace.php*/ if($conteudo != NULL && $tipo != NULL) { require_once "ConnectionFactory.php";//requisitando a classe de conexão $c = new ConnectionFactory(); if($c->getConnection()) { $c->execute("insert images values (null,'".$tipo."','".bin2hex($conteudo)."')"); /*passando o conteudo binario da imagem * representação no formato hexadecimal e inserindo na tabela com isso possibilita tambem fazer a restrição de imaggens iquais http://php.net/manual/en/function.bin2hex.php*/ if(mysql_affected_rows($c->getLink()) > 0) echo "O arquivo foi gravado!!<br/> <a href=\"show.php\">Ver images</a>"; else echo "Erro ao gravar o arquivo!!!"; $c->closeConnection(); }else echo "Erro ao se conectar na base de dados"; }else echo "Erro ao pegar conteudo da imagem"; }else header("Location:index.php"); }else header("Location:index.php"); exit;
Classe para manipulação do BB (MySQL)
Classe de conexão com banco de dados PostGreSQL [golfinho/Elefante]
Passe a data no formato aaaa-dd-mm e retornará dd/mm/aaaa.
Melhorando o tempo de boot do Fedora e outras distribuições
Como instalar as extensões Dash To Dock e Hide Top Bar no Gnome 45/46
E a guerra contra bots continua
Tradução do artigo do filósofo Gottfried Wilhelm Leibniz sobre o sistema binário
Conheça o firewall OpenGFW, uma implementação do (Great Firewall of China).
Instalando o FreeOffice no LMDE 6
Anki: Remover Tags de Estilo HTML de Todas as Cartas
Colocando uma opção de redimensionamento de imagem no menu de contexto do KDE
Não consigo acessar os modos de desempenho (1)
Criar um script para testar pen drive (5)
[Shell Script] Script para desinstalar pacotes desnecessários no OpenSuse
[Shell Script] Script para criar certificados de forma automatizada no OpenVpn
[Shell Script] Conversor de vídeo com opção de legenda
[C/C++] BRT - Bulk Renaming Tool
[Shell Script] Criação de Usuarios , Grupo e instalação do servidor de arquivos samba