아까 질문글을 올렸다가 아무래도 설명이 너무 이상했던 것 같아 삭제했는데... 다시 질문글을 올려봅니다. 다른 분들의 도움으로 부디 해결할 수 있는 문제면 좋겠습니다.

 

제가 원하는 기능은 php의 GD 라이브러리를 이용해서 텍스트를 이미지화 하는 것입니다. 그래서 특정 테스트 이미지를 <img src="OO.php"/>의 방식으로 불러들이는 것입니다. 그리고 제가 원하는 특정 테스트란 xe에 로그인한 유저의 정보입니다. 

 

외부페이지를 통해서 php를 불러오는 방식이 아니다 보니, 그냥 xe의 함수를 읽어내지는 못합니다. 비회원의 경우는 ip를 아래와 같은 코드로 이미지화 할 수 있습니다.

 

<?php
$img_number = imagecreate(275,25);
$backcolor = imagecolorallocate($img_number,102,102,153);
$textcolor = imagecolorallocate($img_number,255,255,255);
$filename = "A";
$directory = "aaa/".$filename.".png";

imagefill($img_number,0,0,$backcolor);
$number = " Your IP is $_SERVER[REMOTE_ADDR]";

Imagestring($img_number,10,5,5,$number,$textcolor);

header("Content-type: image/jpeg");
imagejpeg($img_number, $directory);
imagejpeg($im);
imagedestroy($im);
?>

 

IP 정보를 $_SERVER[REMOTE_ADDR]로 노출시키는 것은 xe에 대한 정보 없이도 가능한 부분이라 어렵지 않았습니다. 그러나 이걸 회원/비회원으로 나누어서 이미지화 하려고 응용해 코드를 짜보았지만... 흰 화면만 나올 뿐이더라구요. 제가 코드를 잘못 짜서 그러는건지, 아니면 받아올 수 없어서 그런 상황이 생기는건지... xe에서 제공하는 외부페이지의 이용없이 외부 php문서에서 xe의 정보를 받아와서 실행시키는 것이 가능할까요?

  • profile
    define('__XE__', TRUE);
    require "XE경로/config/config.inc.php";
  • profile ?
    그런 식으로 접근하는 게 맞나 보네요. 시도해봤는데 영 먹히질 않아서 이게 맞나 싶었습니다.... 역시 제가 코드를 잘못 짜고 있었나 보네요ㅠㅠ 더 고민해 봐야겠습니다. 감사해요!
  • profile ?
    아 해결했습니다! 감사해요ㅠㅠ 저는 http://1sam.kr/xe_tips/59178 이 글과 https://xe1.xpressengine.com/tip/17536608 이 글을 참고하니 더 잘 먹혔습니다.
  • ? profile


    $oContext = &Context::getInstance();
    $oContext->init();

    이게 빠졌군요..-_;;; 저도 테스트는 안해본거라.. 암튼 해결하셨다니 다행입니다.
  • profile ?
    그 부분은 원래 들어가는 걸 알고 있었는데 직접 접속했을 때 require once 이쪽 부분에서 자꾸 오류가 뜨더라구요. 다행히 검색의 힘으로 찾았습니다. 그래도 포기할 뻔 했는데 방향성이 맞다는 걸 알려주셔서 감사합니다!
  • ? profile
    아하 그렇군요! 고생하셨습니다~