Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá pessoal eu estou com duvidas em relação a como inserir uma imagem no db(mysql) , pois não sei qual o melhor metodo, como se ou gravo a url da imagem ou então gravo a imagem num campo blob. mas e depois, como que eu faço para chamar estas imagens em minhas paginas php sem que gere erro de url?por favor me ajudemobrigado
Eu tenho um sistema de noticias que baixei da net e que envia tambem faz upload de images.Nao sei se vai servir para você, mas enfim experimente aí.//Adicina imagens ao banco de dados if(isset($envia)){if(isset($titulo) and ($titulo != "") and isset($conteudo) and ($conteudo != "") and isset($arquivo) and ($arquivo != "") and isset($largura) and ($largura != "") and isset($altura) and ($altura != "")){$uploaddir = 'upload_imagens/'; // aqui é a pasta para onde a imagem irá no servidorif($_FILES['arquivo']['type'] == "image/gif" || $_FILES['arquivo']['type'] == "image/pjpeg"){if($_FILES['arquivo']['size'] > "1000000"){print("<script> alert('Seu arquivo não poderá ser maior que 1mb'); window.history.go(-1); </SCRIPT>\n");} else {if(move_uploaded_file($_FILES['arquivo']['tmp_name'], $uploaddir . $_FILES['arquivo']['name'])) { $diretorio = $uploaddir . $_FILES['arquivo']['name'];} else { print("Houve um erro na transferencia do arquivo:\n"); if($_FILES['arquivo']['error'] == 1){ print("O arquivo no upload é maior do que o limite definido em upload_max_filesize no php.ini"); } elseif($_FILES['arquivo']['error'] == 2){ print("O arquivo ultrapassa o limite de tamanho em MAX_FILE_SIZE que foi especificado no formulário html."); } elseif($_FILES['arquivo']['error'] == 3){ print("o upload do arquivo foi feito parcialmente."); } elseif($_FILES['arquivo']['error'] == 4){ print("Não foi feito o upload do arquivo."); }}}} else { print("<center><font color=\"#FF0000\" size=\"1\"><b>Somente arquivos com extensão .gif e .jpeg são suportados</b></font></center>"); die();}$largura = $largura;$altura = $altura;$titulo = $titulo;$conteudo = $conteudo;$data = date("Ymd H:i:s");$sql = "INSERT INTO noticias SET diretorio='$diretorio', largura='$largura', altura='$altura', titulo='$titulo', conteudo='$conteudo', data='$data'";A vantagem deste codigo é que voce tambem pode definir o tamanho da imagens ao envia-las.Para recuperar a imagem eu uso mais oou menos o seguinte:<img src="imagens/<?= $diretorio; ?>" width="<?= $largura; ?>" height="<?= $altura; ?>" align="left" border="1">experimente aí.Espero ter ajudado.
Cara, não recomendo você gravar no Blob, pois isso pode deixar o BD mais lento.Eu faço assim, eu gravo só o nome e a extensão da imagem no BD. Tipo imagem.jpgdai quando for chamar ela na pagina PHP eu coloco assim.echo "<img src='imagens/$imagem' />";Repare que a vantagem é que eu posso colocar o caminho da minha pasta de imagens, mais se quiser pode colocar só a variável também, caso a imagem e o arquivo php estejam no mesmo diretório.É claro, to levando em consideração que você já sabe como fazer a pesquisa no DB e pegar os valores contidos nas tabelas.Boa sorte man e abraços.