90

How do I hide the output from curl in PHP?

My code as it stands is the following:

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_USERPWD, $pass);
$result = curl_exec($ch);
curl_close ($ch);

The problem is that is spews out the entire page to the user. Instead I want to capture the output and simply show a "success" or "failed" message?

2 Answers 2

222

Use this option to curl_setopt():

curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

This will make curl_exec return the data instead of outputting it.

To see if it was successful you can then check $result and also curl_error().

Sign up to request clarification or add additional context in comments.

2 Comments

I've read from stackoverflow.com/a/18203696/2495584 that it uses 1 as the second paramater. Which is the better one to use?
0/False and 1/True are interchangeable as boolean data types. So, it's exactly the same thing, take your pick.
16

Also make sure to turn off this option:

curl_setopt($ch, CURLOPT_VERBOSE, 0);       

Or else it will still print everything to screen.

1 Comment

else it will still print everything to screen - no it won't, CURLOPT_VERBOSE is 0 by default, and always has been.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.