Verwalten der Curl-Ausgabe in PHP

77

Wie verstecke ich die Ausgabe von Curl in PHP?

Mein aktueller Code lautet wie folgt:

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

Das Problem ist, dass die gesamte Seite ausgespuckt wird. Wie kann ich einfach eine "Erfolg" - oder "Fehlgeschlagen" -Nachricht anzeigen?

mrpatg
quelle

Antworten:

195

Verwenden Sie diese Option, um curl_setopt():

curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

Dadurch werden curl_execdie Daten zurückgegeben, anstatt sie auszugeben.

Um zu sehen, ob es erfolgreich war, können Sie dann überprüfen $resultund auch curl_error().

Greg
quelle
Ich habe von stackoverflow.com/a/18203696/2495584 gelesen, dass 1 als zweiter Parameter verwendet wird. Welches ist das bessere?
Gellie Ann
0 / False und 1 / True sind als boolesche Datentypen austauschbar. Also, es ist genau das Gleiche, treffen Sie Ihre Wahl.
Mrpatg
17

Stellen Sie außerdem sicher, dass diese Option deaktiviert ist:

curl_setopt($ch, CURLOPT_VERBOSE, 0);       

Andernfalls wird immer noch alles auf dem Bildschirm gedruckt.

Eric Leschinski
quelle
1
else it will still print everything to screen- Nein, das wird es nicht. CURLOPT_VERBOSE ist standardmäßig 0 und war es schon immer.
Hanshenrik