PHP5 gravando, recuperando e deletando imagens no banco de dados MYSQL
Publicado por vitor nascimento (última atualização em 04/07/2010)
[ Hits: 14.546 ]
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;
Gravando conteudo de uma caixa de texto no banco de dados [golfinho/Elefante]
Classe de conexao com banco de dados mysql
Gravando conteudo de uma caixa de texto no banco de dados
Formas de trazer dados da consulta utilizando as funções mysql_fetch_array e mysql_fetch_row
Automatizando digitação de códigos 2FA no browser
Resolver problemas de Internet
Como compartilhar a tela do Ubuntu com uma Smart TV (LG, Samsung, etc.)
Como converter imagens PNG/JPEG para SVG em linha de comando
Fez porcaria no teu repositório Git? Aprenda a restaurar uma versão anterior do seu código!
Restaurando Fontes de Download do Hydra no Linux
Atualizando "na marra" o YT-DLP quando começa a dar erro de downloads
Como instalar o WPS com interface e corretor ortográfico em PT-BR no Arch Linux
Impossível ativar audio 5.1 (1)
Erro na atualização dos pacotes (1)
Problema com Conexão Outlook via Firewall (OpenSUSE) com Internet Fibr... (3)