我从imdb(使用api第三方)链接了一些图像,我将它加载到我的sql db然后php app .. 但当我点击显示所有封面时,他们会出现:/为什么? 我使用http://www.omdbapi.com/ api
这是我的网站,点击“Ver Lista de Filmes Capas”点击 http://web.ist.utl.pt/ist170438/aux/mymdb.php
<?php
try
{
$host = "xxxx";
$user ="xxxx8";
$password = "xxx";
$dbname = $user;
$db = new PDO("mysql:host=$host;dbname=$dbname", $user, $password);
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sql = "SELECT * FROM Filme;";
$result = $db->query($sql);
$i = 0;
$per_row = 3;
echo '<table><tr>';
foreach ($result as $row)
{
echo '<td><img src="'.$row['imageLink'].'" width="200" height="200" /></td>';
if(++$i % $per_row == 0 && $i > 0 && $i < $count) {
# Close the row
echo '</tr><tr>';
}
}
for($x = 0; $x < $per_row - $i % $per_row; $x++) {
echo '<td></td>';
}
echo '</tr></table>';
/*
echo("<table border=\"5\" cellspacing=\"5\">\n");
$per_row = 6;
foreach($result as $row)
{
echo '<td><img src="'.$row['imageLink'].'" width="100" height="100" /></td>';
# If three cells have been printed, and we're not at the last image
if(++$i % $per_row == 0 && $i > 0 && $i < $count) {
# Close the row
echo '</tr><tr>';
}
# If the last row isn't 'full', fill it with empty cells
for($x = 0; $x < $per_row - $i % $per_row; $x++) {
echo '<td></td>';
}
echo '</tr></table>';*/
$db = null;
}
catch (PDOException $e)
{
echo("<p>ERROR: {$e->getMessage()}</p>");
}
?>
public void descobreInfoFilme(String nomeFilme, String nomePasta){
try{
String urls = KEY_BDAUX + nomeFilme;
double classificacao = 0;
String sinopse = null;
String urlImagem = null;
String imdbl = "http://www.imdb.com/title/";
String id= null;
int ano = 0;
LinkedList<String> listaGeneros = new LinkedList<String>();
URL url = new URL(urls);
InputStream is = url.openStream();
JsonReader rdr = Json.createReader(is);
JsonObject obj = rdr.readObject();
Filme f = getFilme(nomePasta);
urlImagem = obj.getString("Poster");
id = obj.getString("imdbID");
sinopse = obj.getString("Plot");
ano = Integer.parseInt(obj.getString("Year"));
listaGeneros.add(obj.getString("Genre"));
f.setLinkImdb(imdbl + id);
f.setLinkImagem(urlImagem);
f.setGenero(listaGeneros);
f.setSinopse(sinopse);
f.setAno(ano);
f.setClassificacao(classificacao);
listaGeneros = null;
}catch(Exception e){
System.out.println("ERRO AO DESCOBRIR informacoes DO IMDB DO FILME " + nomePasta);
System.out.println("ERRO AO DESCOBRIR informacoes DO IMDB DO FILME " + nomeFilme);
_listaFilmesErrados.add(nomePasta);
e.printStackTrace();
}
}
答案 0 :(得分:0)
您正在直接链接到IMDB图像。很可能是热链接保护阻止您这样做。
您应该自己托管图片,而不是使用其他网站的带宽。
答案 1 :(得分:0)
有保护,只需下载图片,并将其放入您网站的目录中。这也可以防止文件永远不会脱机,因此工作量减少。