2011-12-11 4 views
0

PHP로 API 키를 만드는 중입니다. 약간의 문제가 있지만 변수에 함수를 저장하려고합니다. 그러나 그 대신에 항상 에코입니다. 나는 함수가 변수에 저장되어야하고 변수가 에코 될 때 그 함수를 echo해야한다. 내 코드는 다음과 같습니다변수에 PHP 함수 저장

클라이언트 :

function get_cat($id){ 
    // Initialising authorisation to access api keys   
    $ch = curl_init("http://localhost/api/category.php?id=".$id); 
    curl_setopt($ch, CURLOPT_COOKIE, "log=".$_SESSION['log']); 
    // Executing script to set login session 
    curl_exec($ch); 
    // Closing curl connection session 
    curl_close($ch); 
} 

서버 :

// Fetching data from database 
    $query = mysql_query("SELECT * FROM cat WHERE id={$id}", $con) or die("Sorry Cannot Connect: ".mysql_error()); 
    echo json_encode(mysql_fetch_assoc($query)); 

클라이언트 : 지금은 그것을 에코 $res 변수에 기능을 할당 할 경우에도

$api = new API('test', 'test'); 
$res = $api->get_cat(2); 

. 어쨌든 그걸 막을 수 있습니까? 왜냐하면 사용자가 변수에 함수를 저장하고 그 변수를 사용하여 원하는 곳 어디에서든지 그 내용을 표시하기를 원하기 때문입니다.

+0

나는 내가 당신을 가지고하지 않았다 죄송 경우 그에 대한 나의 영어 다음 내 나쁜 내가 –

답변

1

기본적으로 curl은 내용을 stdout에 추가합니다 (예 : 페이지 버퍼가 curl_exec에서 반환하도록 요청하는 경우).

이 시도 :

function get_cat($id){ 
    // Initialising authorisation to access api keys   
    $ch = curl_init("http://localhost/api/category.php?id=".$id); 
    curl_setopt($ch, CURLOPT_COOKIE, "log=".$_SESSION['log']); 
    curl_setopt($ch, CURLOPT_HEADER, 0); //2 Not inc the http headers 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
    // Executing script to set login session 
    $html = curl_exec($ch); 
    // Closing curl connection session 
    curl_close($ch); 
    return $html; 
} 
+0

큰 감사를 작동 ... 미안 해요 ... –