我陷入了最简单的障碍。在Drupal 6中,我试图将用户输入的路径带到图像并将该图像输出到页面。这是一些代码:
$slogan_image = theme('image', $slogan_image_path);
dpm("\$slogan_image_path = '$slogan_image_path'");
dpm("\$slogan_image = '$slogan_image'");
devel输出显示:
$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
,将显示图像。
我做错了什么?感谢。
答案 0 :(得分:0)
问题在于我的道路是以斜线开头的。 Drupal路径没有初始斜杠。 Drupal是开源的,我可以看看the Drupal 6 api docs并看到theme_image的代码包含在这一行:
$url = (url($path) == $path) ? $path : (base_path() . $path);
向我展示Drupal会在我的路径前面添加base_path()。在Execute PHP页面中自己执行该代码,让我看到theme_image最终会使用//sites/default/files/images/Family.jpg
作为$ url,显然是非法的值。
我以为我会将这个简短的解释附加到我的小问题上,以帮助初学者看看我是如何调试它的。