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.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.