Imagem

Olá.
Alguém pode ajudar?
Como faço para pegar uma imagem no banco de dados (Multi-upload), anexar e enviar pelo sc_mail_send?

Estou usando o código para enviar o email que funciona perfeitamente, mas não sei como buscar a imagem na base de dados.

Estrutura da tabela:
Nome:
files_table

Colunas:
fileid (int);
userid (int);
binaryvalue (longblob);
filename (varchar);
filetype (varchar);

Desde já agradeço a todos.

Olá, faço da seguinte forma.

1 - Executo o SELECT da imagem no banco de dados
$SQL = “SELECT imagem from tabela WHERE id = $id”;
sc_lookup(rs, $SQL);

2 - Verifico se retornou algum registro e salvo a imagem em um diretório
if(count({rs})>0){

	$varImg=base64_encode({rs[0][0]}); 
	$_img='data:image/png;base64,'.$varImg;

	$origem=$_img;
	$destino="../_lib/img/img_nova.jpg";
	$orig=fopen($origem,"r");
	$dest=fopen($destino,"w");

	while(!feof($orig)){ 
		$line=fread($orig,1024);
		fwrite($dest,$line);
	}
		
		fclose($orig);
		fclose($dest);

}
3 - Incluo a variavel $destino no no caminho da imagem na macro sc_mail_send

Só lembrando de gravar a imagem com o $id e ler com $id isso para evitar de 100 usuários ou mais usando a rotina na mesma hora e ele enviar as imagens trocadas caso gravar só com um nome.

$destino="…/_lib/img/img_nova$id.jpg";

Isso mesmo Jailton, Obrigado pela observação!

Muito obrigado a vocês.

Mas gostaria de saber se existe um meio de pegar a imagem direto do banco de dados e já anexar sem ter que recuperar do banco salvar em um diretório para depois anexar e enviar, penso eu que isso se torna redundante porque já tenho a imagem no banco.

Isso é apenas minha opinião sem desmerecer os códigos passados e agilizar o envio dos anexos.

Mais uma vez agradeço antecipadamente.

Tem sim, mas esta é a melhor e mais compatível forma.
Ja fiz pegando direto do banco e anexando no e-mail, só funcionava no webmail e no outlook, no gmail não funcionou.

Para enviar direto do banco de dados basta usar a variavel $_img

Cleidson muitíssimo obrigado por sua atenção!

Espero um dia retribuir sua ajuda.

Um abraço;

Cleidson meu amigo tentei hoje executar o código e infelizmente não foi o resultado que esperava.

Irei colocar tudo para vc tentar me ajudar ou alguém do forum.

Veja a tabela e os campos onde contem as imagens:

Veja que já tenho imagens cadastradas na tabela:

O código PHP no botão enviar email:

Mas infelizmente não envia o email e retorna como abaixo:

Não sei o que posso esta fazendo errado, mas já tentei de tudo e nada.
Obrigado.

O código que você passou funciona normalmente, cria a imagem em .jpeg no diretório e envia certinho. numa boa!
Mas não gostaria de ficar criando a imagem em um diretório para depois enviar, quero buscar na base de dados e enviar sem ter que criar uma cópia da imagem.

Espero ter sido claro e mais uma vez agradeço antecipadamente.