El código cURL en PHP vuelca la salida a la página

1 minuto de lectura

avatar de usuario
mrpatg

¿Cómo oculto la salida de curl en PHP?

Mi código tal como está es el siguiente:

$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);

El problema es que arroja toda la página al usuario. En su lugar, quiero capturar la salida y simplemente mostrar un mensaje de “éxito” o “fallido”.

Utilice esta opción para curl_setopt():

curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

esto hará curl_exec devolver los datos en lugar de enviarlos.

Para ver si tuvo éxito, puede verificar $result y también curl_error().

  • Leí en stackoverflow.com/a/18203696/2495584 que usa 1 como segundo parámetro. ¿Cuál es mejor para usar?

    – Gellie Ann

    4 de enero de 2017 a las 8:42

  • 0/Falso y 1/Verdadero son intercambiables como tipos de datos booleanos. Entonces, es exactamente lo mismo, elige.

    – mrpatg

    11 de julio de 2018 a las 16:39

También asegúrese de desactivar esta opción:

curl_setopt($ch, CURLOPT_VERBOSE, 0);       

De lo contrario, seguirá imprimiendo todo en la pantalla.

  • else it will still print everything to screen – no, no lo hará, CURLOPT_VERBOSE es 0 por defecto, y siempre lo ha sido.

    – hanshenrik

    15/11/2018 a las 13:30

¿Ha sido útil esta solución?