如何在外部PHP文件中访问用户对象?

时间:2018-03-21 10:47:28

标签: php apache mod-rewrite drupal drupal-7

我正在使用http://example.com/userfiles/upload.php作为Drupal CKEditor的文件浏览器,我想限制对已登录用户的访问,但$user->uid内的upload.php似乎没有返回任何价值。

我必须将路径/userfiles添加到Apache的重写规则异常才能访问它(否则,它会将其转发到index.php?q=并且不会加载)。

我还不完全了解Drupal的index.php是如何工作的,但我怀疑Apache的重写规则可能是访问$user->uid值的问题?

或者我是否需要其他代码才能从Drupal访问此值?

$global user;

if (!$user->uid) {
  echo("You're not allowed to upload files");
  die(0);
}

1 个答案:

答案 0 :(得分:1)

之前我搜索了很多但是现在我遇到了一个为我工作的post about how to bootstrap Drupal。据我所知,它提供了对Drupal API的访问。

// Set the working directory.
chdir('/var/www/html/drupalfolder/');
define('DRUPAL_ROOT', getcwd());

// Load Drupal.
require_once './includes/bootstrap.inc';
drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL); 

// Your code will go here ...