我有以下代码,每当我尝试回应上面的内容时,包含它不起作用,似乎'include'是我的代码。
PD:有关详细信息,我的文件位于/ my_main_folder / administrator / components / com_helloworld /
<?php
define( '_JEXEC', 1 );
define( 'JPATH_BASE', realpath(dirname(__FILE__).'/../../../' ));
include(JPATH_BASE.'/libraries/loader.php');
$name = "a";
$username = "b";
$password = "jhvv";
$email = "arcghh";
addJoomlaUser($name, $username, $password, $email);
function addJoomlaUser($name, $username, $password, $email) {
jimport('joomla.user.helper');
$data = array(
"name"=>$name,
"username"=>$username,
"password"=>$password,
"password2"=>$password,
"email"=>$email,
"block"=>0,
"groups"=>array("1","2")
);
$user = new JUser;
//Write to database
if(!$user->bind($data)) {
throw new Exception("Could not bind data. Error: " . $user->getError());
}
if (!$user->save()) {
throw new Exception("Could not save user. Error: " . $user->getError());
}
return $user->id;
}
&GT;
答案 0 :(得分:1)
您正尝试重新定义已定义的常量,使用:
define( 'JPATH_BASE', realpath(dirname(__FILE__).'/../../../' ));
这可能是破坏你的代码的原因。见Joomla constants
答案 1 :(得分:0)
假设您的相对路径确实有效,很可能您遇到了一些ModSecurity规则 - 现在任何服务器都会仔细查看../...
,因为有可能读取关键服务器文件。
尝试使用实际的物理路径而不是相对路径......