私は特定のjoomlaサイトにログインしているかどうかを判断するためのミニPHPスクリプトを作成しました。PHPで外部* .phpファイルを呼び出す
if (!defined('_JEXEC'))
{
define('_JEXEC', 1);
define('JPATH_BASE', realpath(dirname(__FILE__)));
require_once (JPATH_BASE .'/includes/defines.php');
require_once (JPATH_BASE .'/includes/framework.php');
}
defined('DS') or define('DS', DIRECTORY_SEPARATOR);
$app = JFactory::getApplication('site');
$user = JFactory::getUser();
$groups = $user->groups;
if($user->id)
{
if (isset($groups[7]) or isset($groups[8]))
{
echo $user->username;
}
else
{
echo 'false';
}
}
else
{
echo 'false';
}
私はそれをルートフォルダにアップロードしました。 私はそれをブラウザ経由で呼び出すと、完全に動作します。私がログインしているときにユーザー名を返し、ログアウトしたときにfalseを返します。
しかし、私は別のサーバー上にある別のPHPからそれを呼び出す必要がありますか
$siteText= file_get_contents ("http://examplejoomlasite.org/miniphpscript.php");
しかし、それは関係なく、私がログインしています、常にfalseを返します:私はこの方法でそれを呼び出す
でる。
提案がありますか?
php.iniでallow_url_fopenオプションがオフになっているため、file_get_contentsがfalseを返さないことは確かですか? –
allow_url_fopenはphp.iniにあります。それがfalseを返しても問題がなければ、何も返さず、今は重要ではない –
ですが、この関数はfalseを返します。 –