-1

我被最简单的事情困住了。在 Drupal 6 中,我试图获取用户输入的图像路径并将该图像输出到页面。这是一段代码:

$slogan_image = theme('image', $slogan_image_path);
dpm("\$slogan_image_path = '$slogan_image_path'");
dpm("\$slogan_image = '$slogan_image'");

开发输出显示:

$slogan_image_path = '/sites/default/files/images/Family.jpg'
$slogan_image = ''

'/sites/default/files/images/Family.jpg' 中有一张图片;如果我浏览到www.mysite.com/sites/default/files/images/Family.jpg,将显示图像。

我究竟做错了什么?谢谢。

4

1 回答 1

0

问题是我的路径以斜线开头。Drupal 路径没有那个初始斜线。Drupal 是开源的,我可以参考Drupal 6 api 文档并查看 theme_image 的代码包括这一行:

$url = (url($path) == $path) ? $path : (base_path() . $path);

向我展示了 Drupal 会在我的路径前面加上 base_path()。我自己在 Execute PHP 页面中执行该代码,让我看到 theme_image 最终会//sites/default/files/images/Family.jpg用作 $url,这显然是一个非法值。

我想我会把这个简短的解释附加到我的小问题中,以帮助初学者了解我是如何调试它的。

于 2012-12-25T18:54:31.020 回答