Carregar Imagem pelo endereço

Pessoal, estou quebrando a cabeça aqui e não sei o que esta errado.
É o seguinte:
Tenho o cadastro da empresa dentro do sistema, e um campo “logomarca” sendo que ele guardo o nome do “arquivo.png”, pois bem quando ele salva e reabro o formulário a imagem aparece certinho e o campo é tipo "imagem (nome do arquivo).

Eu estou fazendo um aplicação de controle para controlar a empresa ativa para filtrar os dados somente dela, pois bem eu puxo todos os dados que preciso e jogo em variáveis para manipular conforme necessidade, mas a logo eu não consigo carregar pela url.

Quando salvo o arquivo pelo cadastro da empresa a imagem aparece no seguinte endereço:
public_html/scriptcase9/file/img

Já na aplicação de controle que é onde seleciono a empresa ativa vem todos os dados mas a imagem não carrega, fiz um ajax dentro do onchange da “id_empresa”.

$check_sql = “SELECT id_empresa, cnpj_empresa, razao_social_empresa, nome_empresa, cep_empresa, logradouro_empresa, numero_logradouro_empresa, bairro_empresa, cidade_empresa, uf_empresa, telefone_empresa, telefone_segundo_empresa, site_empresa,e_mail_empresa, logo_marca_empresa, slogan_empresa”
. " FROM empresas"
. " WHERE id_empresa = ‘" . {id_empresa} . "’";
sc_lookup(rs, $check_sql);

if (isset({rs[0][0]})) // REGISTRO ENCONTRADO
{
{cnpj_empresa} = {rs[0][1]};
{razao_social_empresa} = {rs[0][2]};
{nome_empresa} = {rs[0][3]};
{cep_empresa} = {rs[0][4]};
{logradouro_empresa} = {rs[0][5]};
{numero_logradouro_empresa} = {rs[0][6]};
{bairro_empresa} = {rs[0][7]};
{cidade_empresa} = {rs[0][8]};
{uf_empresa} = {rs[0][9]};
{telefone_empresa} = {rs[0][10]};
{telefone_segundo_empresa} = {rs[0][11]};
{site_empresa} = {rs[0][12]};
{e_mail_empresa} = {rs[0][13]};
{logo_marca_empresa} = {rs[0][14]};
$logo_marca = {rs[0][14]};
{slogan_empresa} = {rs[0][15]};

}
else // REGISTRO NÃO ENCONTRADO
{

}
{logo} = “<img src=…/file/img/$logo_marca’ height=‘80’ width=‘80’>”;

Ao abrir o form de controle o campo

05%20PM

Quando eu clico na url do campo logo ele me jogo pra isso

http://stangesistemas.myscriptcase.com/scriptcase9/app/SGS/SGS_logo.png

Ou seja já entra dentro da pasta app, mas a pasta padrão de ambos são as mesmas.

Alguem pode me ajudar nisso?

Boa tarde!
Tenta fazer assim:
{logo} = '<img src="../file/img/'.$logo_marca.'" height="80" width="80">';

Importante verificar que no src, antes do file vc colocou 3 pontos onde deveria ser apenas 2, além de que faltou a aspa.

Espero ter ajudado!

Thyago obrigado, mas não funcionou, o negócio que ao salvar a imagem ele salva no diretório padrão, e quando uso o img src e executo a aplicação, verifico o caminho dentro do campo ele me dá o endereço abaixo

http://stangesistemas.myscriptcase.com/scriptcase9/app/SGS/file/img/SGS_logo.png

Sendo que a imagem esta salva em /scriptcase9/file/img
Em algum momento é adicionado as pastas “/app/SGS” e quando busca ele não acha a imagem pois no caminho acima realmente não existe a imagem, pois a imagem existe em /scriptcase9/file/img

Eu sei porque não esta carregando, mas devido a url final que não existe, mas não sei porque ele acrescenta a pasta da aplicação no meio do caminho mudando o destino

Tá gravando a sua imagem lá na pasta mesmo? O caminho correto seria _lib/file/img.

{logo} = "<img src='../_lib/file/img/{$logo_marca}' height='80' width='80'/>";

O caminho padrão do meu scriptcase é /scriptcase9/file/img
No formulário esta configurado este mesmo caminho como diretório

Quando na aplicação de cadastro da empresa eu coloco a imagem, ele salva exatamente neste caminho

/scriptcase9/file/img/"nome da imagem.png"

Ai quando vou para o app de controle e puxo os dados da empresa, colocando inclusive o caminho que me deram como sugestão ele não carrega, ai vou no quadrado que seria a imagem e peço para abrir o link em outra janela ele me dá o caminho abaixo:

http://stangesistemas.myscriptcase.com/scriptcase9/app/SGS/file/img/Screen%20Shot%2008-12-19%20at%2009.13%20AM.JPG

que não deveria ser pois não existe as pastas “app/SGS” alias existe mas não é o lugar que esta salvando as imagens, não está carregando, visto que o código seta para file/img porque ele muda o caminho? por isso não consigo carregar a imagem.

Não sei se tem alguma influencia mas meu scriptcase fica na nuvem e não na minha máquina local, ele esta hospedado no myscriptcase.com.

Então fazendo um teste aqui, ao abri o link da imagem, e removi manualmente do caminho “app/SGS” e a imagem abriu normalmente, quando coloco o código img src é adicionado no meio as pastas “app/SGS” e assim vira um caminho inválido. Como fazer para remover isso para assim funcionar?

Em produção o caminho muda.

use $this->path_img para o caminho.

Haroldo acabei de resolver nossaaaa,
Bom não sei se tem lógica mas quando fica essa mudança funcionou, as pastas que mencionei todas estavam fora da _lib o que fiz no diretório padrão do form coloquei a pasta _lib padrão do meu projeto
/scriptcase9/app/SGS/_lib/img/
Ai adicionando no código do controle
{logo} = “”;

Ele não altera mais o link e carrega a imagem certinho

Se vc usar o atributo $this->path_img não precisa se preocupar e escrever o caminho diretamente no código, o SC guarda o caminho nesse atributo

{logo} = "<img src='{$this->path_img}/{$logo_marca}' height='80' width='80'/>";

vai funcionar em desenvolvimento e produção.

1 Curtida

Haroldo, perfeito sua explicação muito obrigado, agora se puder me tire uma dúvida.

Esta mesma imagem que tenho que carregar, como faço para carregar ela no reportpdf, no caso carregar uma logo no PDF de acordo com a empresa logada, no caso pegar o caminho que está na variável e carregar no pdf, tentei campos como imagem html, mas não deu certo.

Jogue o caminho da imagem em uma variável e use $this->Pdf->Image para impressão da imagem no PDF.

Desculpe Haroldo mas não faço idéia como fazer. começando para qual tipo de campo vai receber a variavel.

Alguem poderia me ajudar? preciso carregar a mesma logo que consegui no no blank, usando no onrecord o código que funciona na blank, não funciona no pdf.

esse código é para uma impressão html:

{logo} = "<img src='{$this->path_img}/{$logo_marca}' height='80' width='80'/>";

para uma impressão em pdf:

$imagem = $this->path_img}.'/'.$logo_marca;
$this->Pdf->Image($imagem,  5, 5, 33,  0);

Haroldo mas eu envio o conteudo do código para uma label dentro do pdf?

não,

$imagem = $this->path_img}.'/'.$logo_marca;

Você já tem o caminho da imagem aqui. Basta imprimi-lo.

Haroldo, agradeço sua ajuda, estou usando o reportpdf somente visual, arrastando e soltando, não sei exatamente onde colocar esse código, coloquei no evento onrecord mas deu erro, coloquei no corpo do código e tambem não funcionou, uma pergunta que deixo para empresa que desenvolve o scriptcase, como uma ferramenta tão boa com tanto bons recursos, possui uma ferramento de pdf tão porca assim? chega a ser ridículo a limitação do drag n drop dele. Consegui até fazer um formulário legal e colocar os campos no lugar ficou muito bom, agora para finalizar tenho que puxar no cabeçalho a logo da empresa ativa, só isso os outros dados já estão no lugar certo.

Não uso o padrão de desenvolvimento do Report_PDF, uso meio na unha, mas a liberdade e resultado são outros


Legal, mas visualmente estou conseguindo fazer algum coisa e no meu caso os relatórios que vou precisar fazer não são tão complexos e pelo que vi da pra fazer no visual, mas o maior problema é essa da imagem que não consigo puxar, que só falta isso mesmo.

Cria um campo Manualmente do Tipo Imagem. Chamamos isso de campo virtual.
Atribua sua imagem a galeria do Scriptcase.
Seleciona a imagem da galeria nesse campo tipo imagem.
Posicione o campo no loca desejado.