从主站外部访问IPB类


Accessing IPB Classes Externally From Main Website

你好,我一直在与IPB3.4工作,我正试图在我的主要网站和论坛,特别是用户之间建立某种相关性。

我知道你可以使用IPB members类来简单地创建一个新用户,但是我不确定如何在IPB论坛基础目录之外初始化该类。

如果有人对这个话题有任何经验,我将非常感谢任何建议。

谢谢

我从上述脚本中遇到的问题是在init()方法之后,它会将我重定向到论坛或导致标头已经发送错误,因此您需要包括以下常量,以便在IPB论坛目录外正常工作:define( 'IPS_ENFORCE_ACCESS', TRUE );

$forumPath = '../forums'; //FORUM FOLDER
define( 'IPS_ENFORCE_ACCESS', TRUE ); // Important so it does not redirect to forums
define( 'IPB_THIS_SCRIPT', 'public' );
require_once( $forumPath.'/initdata.php' );
require_once( IPS_ROOT_PATH . 'sources/base/ipsRegistry.php' );
require_once( IPS_ROOT_PATH . 'sources/base/ipsController.php' );
$ipbRegistry    = ipsRegistry::instance();
$ipbRegistry->init();

$member = IPSMember::load($memberName, 'all', 'username');

尝试从根文件夹初始化IPB

define('IPB_THIS_SCRIPT', 'public');
require_once( 'initdata.php' );
require_once( IPS_ROOT_PATH . 'sources/base/ipsRegistry.php' );
require_once( IPS_ROOT_PATH . 'sources/base/ipsController.php' );
$ipbRegistry = ipsRegistry::instance();
$ipbRegistry->init();

那么你可以像这样使用ipmember

$member = IPSMember::load($member_name, 'all', 'username');