Pegar url da imagem

Pegar url da imagem

por EAD Estágio 2 -
Número de respostas: 9

Tenho uma pagina que contem uma imagem e gostaria de pegar url da imagem, eu tenho só uma informação...




alguém consegue ajudar?

Contagem das avaliações:  -
Em resposta à EAD Estágio 2

Re: Pegar url da imagem

por EAD Estágio 2 -

Tenho o link assim só

@@pluginfile@@/cronograma.jpg
Contagem das avaliações:  -
Em resposta à EAD Estágio 2

Re: Pegar url da imagem

por EAD Estágio 2 -

alguém? por favor!

Contagem das avaliações:  -
Em resposta à EAD Estágio 2

Re: Pegar url da imagem

por Rodolfo da Silva -

Olá Yuri, 

Não compreendi o contexto da pergunta.

Posso te ajudar me explique melhor.

Você quer pegar  a url da imagem em alguma função no PHP? através do navegador? 

Contagem das avaliações:  -
Em resposta à Rodolfo da Silva

Re: Pegar url da imagem

por EAD Estágio 2 -

opa, perdão a demora,

quero pegar a url dessa imagem, o moodle me retorna isso no banco


@@pluginfile@@/cronograma.jpg

eu apenas queria pegar a url final desse arquivo, usando a api do moodle ou alguma outra forma...

Contagem das avaliações:  -
Em resposta à EAD Estágio 2

Re: Pegar url da imagem

por Willian Mano -

Deixa eu ver se entendi. Você tem as imagens salvas no servidor e elas tem seu registro salvo no banco de dados na tabela mdl_files, correto? Você quer pegar essa imagem e exibi-lá em outra aplicação ou local?

Se esse for o caso, você não conseguirá "pegar a urla dessa imagem", visto que, imagens não são salvas em uma pasta pública.

O que você pode fazer é encontrar essa imagem no disco, e exibi-la de alguma forma.

1. Todas as imagens ficam salvas no diretório moodledata, configurado no seu arquivo config.php na propriedade $CFG->dataroot.

2. Você deve pegar o registro do banco de dados referente ao seu arquivo e a coluna contenthash. Ela é a localização do seu arquivo no diretório moodledata.

3. Um select com a localização seria o seguinte: SELECT concat(substr(contenthash,1,2),"/",substr(contenthash,3,2),"/",contenthash) as location, mdl_files.* FROM mdl_files;.

4. Agora você já possui a localização do seu arquivo, eles está na pasta moodledata/filedir/location(registro do banco). Dai é só fazer o que quiser, baixar, exibir...

Exemplo:

No meu banco eu tenho um registro da sequinte forma:

id| contenthash| pathnamehash| contextid| component| filearea| itemid| filepath| filename| userid| filesize| mimetype| status| source| author| license| timecreated| timemodified| sortorder| referenceid

'11'| 'da39a3ee5e6b4b0d3255bfef95601890afd80709'| '74c104d54c05b5f8c633a36da516d37e6c5279e4'| '1'| 'core'| 'preview'| '0'| '/thumb/'| '.'| NULL| '0'| NULL| '0'| NULL| NULL| NULL| '1459726426'| '1459726426'| '0'| NULL

Aplicando o select a seguir eu tenho a localização do arquivo baseado no contenthash e os demais campos: SELECT concat(substr(contenthash,1,2),"/",substr(contenthash,3,2),"/",contenthash) as location, mdl_files.* FROM mdl_files;

Dai basta utilizar o caminho pra pegar meu arquivo. Por exemplo:

/var/www/moodledata/filedir/$row->contenthash; o que seria convertido para:

/var/www/moodledata/filedir/da/39/da39a3ee5e6b4b0d3255bfef95601890afd80709 -> localização do arquivo 

Contagem das avaliações:  (1)
Em resposta à Willian Mano

Re: Pegar url da imagem

por Miguel Silva -

Olá, como faço pra mostrar o texto e uma imagem de uma pergunta cadastrada em mdl_question?

Contagem das avaliações:  -
Em resposta à Miguel Silva

Re: Pegar url da imagem

por Miguel Silva -

Estou usando este código para puxar os dados

<?php
// definições de host, database, usuário e senha
$host = "localhost";
$db = "bitnami_moodle";
$user = "root";
$pass = "";
// conecta ao banco de dados
$con = mysql_pconnect($host, $user, $pass) or trigger_error(mysql_error(),E_USER_ERROR);
mysql_query("SET NAMES 'utf8'", $con);
mysql_query('SET character_set_connection=utf8', $con);
mysql_query('SET character_set_client=utf8', $con);
mysql_query('SET character_set_results=utf8', $con);

// seleciona a base de dados em que vamos trabalhar
mysql_select_db($db, $con);
// cria a instrução SQL que vai selecionar os dados
$query = sprintf("SELECT name, questiontext, substr(contenthash,1,2) as contenthash, substr(contenthash,3,2) as contenthash2, contenthash as contenthash3, filename as imagemName FROM mdl_question q inner join mdl_files f on f.itemid=q.id group by q.id Order by q.name");
// executa a query
$dados = mysql_query($query, $con) or die(mysql_error());
// transforma os dados em um array
$linha = mysql_fetch_assoc($dados);
// calcula quantos dados retornaram
$total = mysql_num_rows($dados);
?>

<html>

<head>

<title>Simulados</title>
</head>
<body>
<?php

// se o número de resultados for maior que zero, mostra os dados
if($total > 0) {
// inicia o loop que vai mostrar todos os dados
do {
?>
<p><?=$linha['name']?> </p> <?=$linha['contenthash']?>/<?=$linha['contenthash2']?>/<?=$linha['contenthash3']?></p></p> <?=$linha['questiontext']?></p>
<?php
// finaliza o loop que vai mostrar os dados
}while($linha = mysql_fetch_assoc($dados));
// fim do if
}
?>
</body>
</html>
<?php
// tira o resultado da busca da memória
mysql_free_result($dados);
?>

Contagem das avaliações:  -
Em resposta à Willian Mano

Re: Pegar url da imagem

por Rafael Alonso -

Olá Willian Mano Araújo,

   estou desenvolvendo um sistema externo ao moodle que deve exibir as imagens do curso, eu segui todos os seus passo, mas estou com dúvida em como eu transformo essa url par que a imagem seja exibida no browser? Outra dúvida, todas as funções de manipulação de arquivos do PHP funcionam com o caminho real desse arquivo?

Contagem das avaliações:  -
Em resposta à Rafael Alonso

Re: Pegar url da imagem

por Gabriel Rabelo -
Um Select simples creio que ja resolva amigo. Digamos que eu queira pegar a imagem da logomarca que esta gravado em uma tabela chamada img.
Logo select img.logo from img where id =7 Logo o retorno seria minha logo marca minha agência de criação de sites
Contagem das avaliações:  -