PHP5 gravando, recuperando e deletando imagens no banco de dados MYSQL
Publicado por vitor nascimento (última atualização em 04/07/2010)
[ Hits: 14.815 ]
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 de conexão ao banco usando PDO
Classe básica de acesso a MySQL pronta para extensões
Como criar um make.conf no Gentoo (para iniciantes)
Como instalar o Open WebUI para Ollama no Gentoo (com systemd)
INSTALAR (e jogar) COUNTER STRIKE 1.6 (install cs 1.6) NO LINUX
A tragédia silenciosa das distribuições baseadas (ou “agregadas”)
Papel de Parede Animado no KDE Plasma 6 (Com dicas para Gentoo)
Homebrew: o gerenciador de pacotes que faltava para o Linux!
Removendo a trava de versão do Project Brutality para GZDoom/UZDoom
Acelere a compilação no Gentoo com distcc (guia para Systemd)
KDE Plasma 6.5: Como manter o Projetor fixo enquanto você alterna Áreas de Trabalho no PC
[Matemática] o que seria algo mais poderoso do que uma função? [RESOLV... (5)









