Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Boa tarde pessoal,estou tendo dificuldade na seguinte questão:
Preciso pegar uma imagem de uma página remota, até ai tudo bem o problema é que a url que tenho é um redirecionamento para outra URL em que apresenta a imagem.
Exemplo:
URL que possuo => [http://www.exemplo.com/tmp/img?type=normal](http://www.exemplo.com/tmp/img?type=normal)
URL para onde é redirecionado => [http://www.exemplo.com/imagem_teste.jpg](http://www.exemplo.com/imagem_teste.jpg)
Não estou conseguindo pegar o nome desta segunda URL e nem realizar o download da IMG para o meu servidor.
O que devo fazer?
>
Se o redirecionamento está ocorrendo no servidor, o cabeçalho Location: está sendo enviado. Portanto, com a função get_headers você pode resolver isto, basta ver para aonde esta redirecionando.
<?php
$link = "http://www.exemplo.com/tmp/img?type=normal";
$headers = get_headers($link);
foreach($headers as $x)
{
if(strstr($x,"Location: http://"))
{
$location = str_replace("Location: ","",$x);
}
}
//a url redirecionada está na variável $location agora
echo $location //http://www.exemplo.com/imagem_teste.jpg
?>
Colega funcionou certinho, era o que eu precisava. Brigadão.
Se o redirecionamento está ocorrendo no servidor, o cabeçalho Location: está sendo enviado. Portanto, com a função get_headers você pode resolver isto, basta ver para aonde esta redirecionando.
{ if(strstr($x,"Location: http://")) {//a url redirecionada está na variável $location agora