2017-03-07 36 views
0

我试图显示图像,如果无法找到想要的图像。 图像来自RSS源。原始代码是最后一个。备用图像在PHP中不起作用

我试了几件事。但似乎没有工作。它仅显示备用图片:blank_newprod.png。

新代码:

foreach($channel->item as $item){ 
      //if($i==6){break;} 
      if($item->prodimg=="~"){break;} 
      if($item->prodpage=="~"){break;} 
      $i += 1; 
      echo '<span '; 
      switch ($i) { 
       case 1: echo 'style="margin-right:18px;">'; break; 
       case 2: echo 'style="margin-right:18px;">'; break; 
       case 3: echo '>'; break; 
       case 4: echo 'style="margin-right:18px;">'; break; 
       case 5: echo 'style="margin-right:18px;">'; break; 
       case 6: echo '>'; $i = 0; break; 
      } 
      $filename = '.$item->prodimg.'; 

      if (file_exists($filename)) { 
      echo '<a href="'.$item->prodpage.'" title="'.$item->$title.'"><img src="'.$item->prodimg.'" width="181" height="100" alt="'.$item->$title.'" /></a></span>'; 
      } else { 
      echo '<img src="../includes/php/blank_newprod.png"/>'; 
      } 
     } 

原始代码:

foreach($channel->item as $item){ 
      //if($i==6){break;} 
      if($item->prodimg=="~"){break;} 
      if($item->prodpage=="~"){break;} 
      $i += 1; 
      echo '<span '; 
      switch ($i) { 
       case 1: echo 'style="margin-right:18px;">'; break; 
       case 2: echo 'style="margin-right:18px;">'; break; 
       case 3: echo '>'; break; 
       case 4: echo 'style="margin-right:18px;">'; break; 
       case 5: echo 'style="margin-right:18px;">'; break; 
       case 6: echo '>'; $i = 0; break; 
      } 
      echo '<a href="'.$item->prodpage.'" title="'.$item->$title.'"><img src="'.$item->prodimg.'" width="181" height="100" alt="'.$item->$title.'" /></a></span>'; 
     } 

回答

1

这看起来并不像一个有效的文件名:

$filename = '.$item->prodimg.'; 

当然你的意思是只使用值本身?:

$filename = $item->prodimg; 

当然,如果该值是一个URL(如暗示其以后使用),然后检查是否有相应的文件你需要将其转换为文件系统路径。幸运的是,这是been asked already