PHP5 gravando, recuperando e deletando imagens no banco de dados MYSQL
Publicado por vitor nascimento (última atualização em 04/07/2010)
[ Hits: 14.698 ]
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;
Sistema que simula bd com arquivo TXT
Classe MySQLDatabase [golfinho/Elefante]
Gravando dados em um banco de dados!
Arquivo PHP para configuração de acesso a banco mySQL e execução de operações
IA Turbina o Desktop Linux enquanto distros renovam forças
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Linux em 2025: Segurança prática para o usuário
Desktop Linux em alta: novos apps, distros e privacidade marcam o sábado
IA chega ao desktop e impulsiona produtividade no mundo Linux
Atualizando o Fedora 42 para 43
Como saber se o seu e-mail já teve a senha vazada?
Como descobrir se a sua senha já foi vazada na internet?
Instalação dualboot Windows 11 e Debian 13 (4)
Mint Xfce não mantém a conexão no wi-fi (0)
Programa fora de escala na tela do pc (36)
Eu queria adicionar a incon do wifi e deixa transparente no fluxbox no... (0)









