PHP:为什么URL缺少一个部分?

时间:2012-04-19 22:18:16

标签: php wordpress url

我正在尝试使用TimThumb在我的博客上显示图像

<?php the_title(); ?>'><img src="<?php bloginfo('template_directory'); ?>/timthumb.php?src=<?php echo catch_that_image() ?>&w=290&h=160

以上是我使用的代码

问题是图片无法显示,因为网址就是这样的。

http://myurl.com/wp-content/themes/ThemeName/timthumb.php?src=&w=290&h=160

其中假设是这样的例如

http://myurl.com/wp-content/themes/ThemeName/timthumb.php?src=http://myurl.com/wp-content/uploads/i0n1c.png&w=290&h=160

正如您在上面看到的那样,src=缺少部分而且缺少的部分是这段代码<?php echo catch_that_image() ?>我已经单独测试了这段代码并且它工作得很好但是当我将它们组合在一起时它就可以了没有正确显示它?

我是否需要添加一些东西以使其有效?

更新:

这是我用来抓取图像的功能

function catch_that_image() {
  global $post, $posts;
  $first_img = '';
  ob_start();
  ob_end_clean();
  $output = preg_match_all('/<img.+src=[\'"]([^\'"]+)[\'"].*>/i', $post->post_content, $matches);
  $first_img = $matches [1] [0];

  if(empty($first_img)){ //Defines a default image
    $first_img = "/images/default.jpg";
  }
  return $first_img;
}

以下是调用图像的URL路径的代码。

<?php echo catch_that_image() ?>

1 个答案:

答案 0 :(得分:3)

  

我已经单独测试了这个代码,它运行得很好

该代码应输出变量,因此您在另一个正确设置值的上下文中执行此操作。

更新

您检查了生成的源代码吗?你在这里有反对意见:

?src='<?php echo $image[0]; ?>'&w=
     _                        _