Reputation: 159
I'm trying to make a simple API. However, not sure why but I'm getting true instead of the value that should be returned.
Here's the curl code.
try
{
$target_url = "my url";
$post = array(
'auth_token' => '123456' // post your auth token here
//'file_contents' => '@' . $_FILES['file']['temp_name']); //the name of the input type is file, you can change it in your HTML.
);
$ch = curl_init();
if($ch == false)
{
echo "Couldnt initialize curl";
}
curl_setopt($ch, CURLOPT_URL,$target_url);
curl_setopt($ch, CURLOPT_POST,1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
$result=curl_exec ($ch);
if (FALSE === $result)
throw new Exception(curl_error($ch), curl_errno($ch));
var_dump($result);
curl_close ($ch);
}
catch(Exception $e)
{
trigger_error(sprintf(
'Curl failed with error #%d: %s',
$e->getCode(), $e->getMessage()),
E_USER_ERROR);
}
The file which gets the content :-
return $_POST['auth_token']
However, the result of var_dump is bool(true) instead of 123456. Why is this happening?
Upvotes: 12
Views: 14437
Reputation: 11
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); you need to put that to return data in proper format also you can check datatype of your output using gettype($string);
Upvotes: 0
Reputation: 79014
You need to echo
not return
:
echo $_POST['auth_token'];
And you need CURLOPT_RETURNTRANSFER
to have curl_exec()
return the content:
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
Returns TRUE on success or FALSE on failure. However, if the CURLOPT_RETURNTRANSFER option is set, it will return the result on success, FALSE on failure.
Upvotes: 24