• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

zero-cool

Foto remota

10 mensagens neste tópico

Boas,

Estou a tentar is buscar umas fotos ao IMDB. Acontece que no meu servidor as imagens dão correctamente, e no servidor do alojamento não aparecem. Não sei que mais voltas ei-de dar a isto.. estou literalmente confuso  :P

<img src="http://ia.imdb.com/media/imdb/01/I/22/43/13/10m.jpg" >

Abraço,

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

zero-cool

a melhor solução é gravares as imagens para um servidor teu ou um host gratuito de imagens.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

zero-cool

a melhor solução é gravares as imagens para um servidor teu ou um host gratuito de imagens.

Foi o que fiz. Mais logo deixo aqui o código. :)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

será que eles não têm o hotlinking inactivo?

a imagem que podes estar a ver pode ser a da cache do teu browser.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Não te posso dizer ao certo o que é, pois ora funciona, ora não funciona. Experimentei em browsers sem cache, e carregou à primeira mas já não apresentou à segunda. Foi por isso que aqui perguntei.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Não te posso dizer ao certo o que é, pois ora funciona, ora não funciona. Experimentei em browsers sem cache, e carregou à primeira mas já não apresentou à segunda. Foi por isso que aqui perguntei.

Isso é porque o IMDB tem protecções contra rouba de tráfego (ou seja, hotlinking).
0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Isso é porque o IMDB tem protecções contra rouba de tráfego (ou seja, hotlinking).

pois tem mas isso é fácil de contornar, basta perder um bocado de tempo a ver o código-fonte para procurar a imagem que pretende, depois guardar para o pc e de seguida colocar a imagem num host.

uma maneira simples e depois não tem mais chatices.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Cá fica o código

$searchPage = file_get_contents("http://www.imdb.com/nowplaying/");

preg_match_all('/\<tr\>\<td class\=\"movie .*\" align\=center>(.*)\<\/tr\>/',$searchPage,$k);

foreach($k as $j=>$cont) {
foreach($cont as $id=>$u) {

	$patt = '/';
	$patt .= '\<a href\=\"(\/title\/.*\/)\"\>\<img class\=\"poster\" alt=\".*\" title\=\"(.*)\" src\=\"(.*)\" width\=\".*\"\>\<\/a\>';
	$patt .= '/';

	preg_match($patt,$u,$o);
	if(!file_exists("imagens/imdb_images/{$o[2]}.jpg")){
			if (!copy("$o[3]", "imagens/imdb_images/$o[2].jpg")) {
				die("Erro a copiar foto $o[3]");
			}
	}
}
}

Abraços,

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Mete esse if do copy dentro de:

if(!file_exists("imagens/imdb_images/{$o[2]}.jpg")){

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora