2012-03-23 92 views
1

我需要需要一个Drupal节点中的一个文件,例如:使用PHP需要一个Drupal节点

<?php 
require('/help/sites/all/themes/help12/brightcove/bc-mapi.php'); 

//Do Stuff Here 

?> 

我得到的错误:

警告:要求(/帮助/网站/ C:\ dev \ srv \ Apache2.2 \ htdocs \ help \ includes \ common.inc(1696)中没有这样的文件或目录:all/themes/help_infusion12/brightcove/bc-mapi.php):无法打开流eval()'代码在线2上。

该文件在那里,我已经在drupal之外的一个php脚本上测试过了。不知道什么是搞砸了。

感谢您的帮助。

+0

建议你使用'drupal_get_path()使用Drupal的方式'有例如由Clive – optimusprime619 2012-03-23 08:30:54

回答

2

的“Drupal的方式:

$path = drupal_get_path('theme', 'help12'); 
require ($path . '/brightcove/bc-mapi.php'); 
+0

给予我想吻你。谢谢。 – joshmmo 2012-03-23 20:29:01

0

尝试

require('../../help/sites/all/themes/help12/brightcove/bc-mapi.php'); 

require('../sites/all/themes/help12/brightcove/bc-mapi.php'); 
0

它看起来就像你在PC上开发。既然你有一个绝对路径,从斜线开始,Apache会将其视为从SERVER_ROOT开始。

拿你httd.conf一看,你会看到类似

# DocumentRoot: The directory out of which you will serve your 
# documents. By default, all requests are taken from this directory, but 
# symbolic links and aliases may be used to point to other locations. 
# 
DocumentRoot "c:/xampp/htdocs" 

在这种情况下,宇瞻将寻求

C:/ XAMPP/htdocs中/帮助/网站/所有/ themes/help12/brightcove/bc-mapi.php

使用相对路径可能会更好。

请注意,这不是一个Drupal问题(顺便说一下,stackexchange有一个很好的Drupal站点)。

祝你好运!