(PHP 4 >= 4.0.2, PHP 5)
curl_setopt: establece una opción de transporte cURL.
bool curl_setopt (recurso $ch, int $opción, valor $mixto)
Establece una opción para el identificador de sesión cURL determinado.
ch
El identificador de cURL devuelto por curl_init().
opción
Es necesario configurar las opciones CURLOPT_XXX.
valor
El valor que se establecerá en la opción.
Para los parámetros opcionales de las siguientes opciones, el valor debe establecerse en un valor de tipo bool:
Opciones | Valor opcional | Observación |
---|---|---|
CURLOPT_AUTOREFERER | Al redireccionar según la Ubicación:, la información Referer: en el encabezado se establece automáticamente. | |
CURLOPT_BINARYTRANSFER | Devuelve una salida sin procesar cuando CURLOPT_RETURNTRANSFER está habilitado. | |
CURLOPT_COOKIESESSION | Cuando está habilitado, curl solo pasará una cookie de sesión e ignorará otras cookies. De forma predeterminada, curl devolverá todas las cookies al servidor. Las cookies de sesión se refieren a cookies que se utilizan para determinar si la sesión del lado del servidor es válida. | |
CURLOPT_CRLF | Cuando está habilitado, convierte las nuevas líneas de Unix en retornos de carro y avances de línea. | |
CURLOPT_DNS_USE_GLOBAL_CACHE | Cuando está habilitado, se habilita un caché DNS global. Esto es seguro para subprocesos y está habilitado de forma predeterminada. | |
CURLOPT_FAILONERROR | Muestra el código de estado HTTP. El comportamiento predeterminado es ignorar los mensajes HTTP con números menores o iguales a 400. | |
CURLOPT_FILETIME | Cuando está habilitado, intenta modificar la información en el documento remoto. La información del resultado se devolverá a través de la opción CURLINFO_FILETIME de la función curl_getinfo(). curl_getinfo(). | |
CURLOPT_FOLLOWLOCATION | Cuando está habilitado, la "Ubicación:" devuelta por el servidor se colocará en el encabezado y se devolverá al servidor de forma recursiva. Utilice CURLOPT_MAXREDIRS para limitar el número de devoluciones recursivas. | |
CURLOPT_FORBID_REUSE | La conexión se ve obligada a desconectarse una vez completada la interacción y no se puede reutilizar. | |
CURLOPT_FRESH_CONNECT | Obliga a obtener una nueva conexión, reemplazando la que está en el caché. | |
CURLOPT_FTP_USE_EPRT | Cuando esté habilitado, utilice el comando EPRT (o LPRT) cuando realice descargas FTP. Cuando se establece en FALSE , se desactiva EPRT y LPRT; utilice únicamente el comando PORT. | |
CURLOPT_FTP_USE_EPSV | Cuando está habilitado, los comandos EPSV se intentan primero antes de volver al modo PASV durante las transferencias FTP. Deshabilita el comando EPSV cuando se establece en FALSE . | |
CURLOPT_FTPAPPEND | Cuando está habilitado, agregar escribe en el archivo en lugar de sobrescribirlo. | |
CURLOPT_FTPASCII | Alias de CURLOPT_TRANSFERTEXT . | |
CURLOPT_FTPLISTONLY | Cuando está habilitado, solo se enumeran los nombres de los directorios FTP. | |
CURLOPT_HEADER | Cuando está habilitado, la información del archivo de encabezado se generará como un flujo de datos. | |
CURLINFO_HEADER_OUT | Cadena de solicitud para identificadores de seguimiento cuando está habilitado. | Disponible a partir de PHP 5.1.3. El prefijo CURLINFO_ es intencional. |
CURLOPT_HTTPGET | Cuando esté habilitado, el método HTTP se establecerá en GET. Debido a que GET es el predeterminado, solo se usará si se modifica. | |
CURLOPT_HTTPPROXYTUNNEL | Cuando está habilitado, la transmisión se realiza a través de un proxy HTTP. | |
CURLOPT_MUTE | Cuando esté habilitado, todos los parámetros modificados en la función cURL se restaurarán a sus valores predeterminados. | |
CURLOPT_NETRC | Una vez establecida la conexión, acceda al archivo ~/.netrc para obtener la información de nombre de usuario y contraseña para conectarse al sitio remoto. | |
CURLOPT_NADIE | Cuando está habilitado, la parte BODY del HTML no se generará. | |
CURLOPT_NOPROGRESS | Desactive la barra de progreso de la transferencia curl cuando esté habilitada. La configuración predeterminada de este elemento está habilitada.
| |
CURLOPT_NOSIGNAL | Cuando está habilitado, ignora todas las señales pasadas por curl a php. Este elemento está habilitado de forma predeterminada durante la transmisión multiproceso SAPI. | Agregado en cURL 7.10. |
CURLOPT_POST | Cuando está habilitado, se enviará una solicitud POST normal del tipo: application/x-www-form-urlencoded , al igual que el envío de un formulario. | |
CURLOPT_PUT | Cuando se habilita para permitir que HTTP envíe archivos, se deben configurar tanto CURLOPT_INFILE como CURLOPT_INFILESIZE . | |
CURLOPT_RETURNTRANSFER | Devuelve la información obtenida por curl_exec() en forma de flujo de archivo en lugar de generarla directamente. | |
CURLOPT_SSL_VERIFYPEER | Cuando está deshabilitado, cURL finalizará la validación del servidor. Configure el certificado usando la opción CURLOPT_CAINFO . Configure el directorio del certificado usando la opción CURLOPT_CAPATH . Si CURLOPT_SSL_VERIFYPEER (predeterminado 2) está habilitado, CURLOPT_SSL_VERIFYHOST debe configurarse en TRUE; de lo contrario, debe configurarse en FALSE . | El valor predeterminado es VERDADERO desde cURL 7.10. A partir de cURL 7.10, la instalación del paquete es la predeterminada. |
CURLOPT_TRANSFERTEXT | Cuando está habilitado, utiliza el modo ASCII para transferencias FTP. Para LDAP, recupera información de texto sin formato en lugar de HTML. En los sistemas Windows, el sistema no configura STDOUT en modo binario. | |
CURLOPT_UNRESTRICTED_AUTH | Agregue continuamente información de nombre de usuario y contraseña a múltiples ubicaciones en el encabezado generado usando CURLOPT_FOLLOWLOCATION , incluso si el nombre de dominio ha cambiado. | |
CURLOPT_UPLOAD | Permitir la carga de archivos cuando esté habilitado. | |
CURLOPT_VERBOSE | Cuando esté habilitado, toda la información se informará y almacenará en STDERR o en el CURLOPT_STDERR especificado. |
Para los parámetros opcionales de las siguientes opciones, el valor debe establecerse en un valor de tipo entero:
Opciones | Valor opcional | Observación |
---|---|---|
CURLOPT_BUFFERSIZE | El tamaño del caché se lee en los datos obtenidos cada vez, pero no hay garantía de que este valor se complete cada vez. | Agregado en cURL 7.10. |
CURLOPT_CLOSEPOLICY | Ya sea CURLCLOSEPOLICY_LEAST_RECENTLY_USED o CURLCLOSEPOLICY_OLDEST, hay otros tres CURLCLOSEPOLICY, pero cURL aún no los admite. | |
CURLOPT_CONNECTTIMEOUT | El tiempo de espera antes de iniciar una conexión. Si se establece en 0, esperará indefinidamente. | |
CURLOPT_CONNECTTIMEOUT_MS | El tiempo de espera de un intento de conexión, en milisegundos. Si se establece en 0, espere infinitamente. | Agregado en cURL 7.16.2. Disponible a partir de PHP 5.2.3. |
CURLOPT_DNS_CACHE_TIMEOUT | Configure el tiempo para guardar la información DNS en la memoria; el valor predeterminado es 120 segundos. | |
CURLOPT_FTPSSLAUTH | Método de autenticación FTP: CURLFTPAUTH_SSL (pruebe SSL primero), CURLFTPAUTH_TLS (pruebe TLS primero) o CURLFTPAUTH_DEFAULT (deje que cURL decida automáticamente). | Agregado en cURL 7.12.2. |
CURLOPT_HTTP_VERSION | CURL_HTTP_VERSION_NONE (predeterminado, permite que curl decida qué versión usar), CURL_HTTP_VERSION_1_0 (fuerza HTTP/1.0) o CURL_HTTP_VERSION_1_1 (fuerza HTTP/1.1). | |
CURLOPT_INFILESIZE | Establezca el límite de tamaño de los archivos cargados en bytes. | |
CURLOPT_LOW_SPEED_LIMIT | Cuando la velocidad de transmisión es menor que CURLOPT_LOW_SPEED_LIMIT (bytes/seg), PHP usará CURLOPT_LOW_SPEED_TIME para determinar si cancelar la transmisión porque es demasiado lenta. | |
CURLOPT_LOW_SPEED_TIME | Cuando la velocidad de transmisión es menor que CURLOPT_LOW_SPEED_LIMIT (bytes/seg), PHP usará CURLOPT_LOW_SPEED_TIME para determinar si cancelar la transmisión porque es demasiado lenta. | |
CURLOPT_MAXCONNECTS | El número máximo de conexiones permitidas; si se excede, se utilizará CURLOPT_CLOSEPOLICY para determinar qué conexiones deben detenerse. | |
CURLOPT_MAXREDIRS | Especifica el número máximo de redirecciones HTTP. Esta opción se utiliza con CURLOPT_FOLLOWLOCATION . | |
CURLOPT_PORT | Se utiliza para especificar el puerto de conexión. (opcional) | |
CURLOPT_PROTOCOLS | Bitfield se refiere a CURLPROTO_* . Si está habilitado, el valor del campo de bits limita qué protocolos puede usar libcurl durante las transferencias. Esto le permitirá compilar libcurl para que admita muchos protocolos, pero sólo para utilizar un subconjunto de ellos cuyo uso esté permitido. Por defecto, libcurl utilizará todos los protocolos que admita. Ver CURLOPT_REDIR_PROTOCOLS .Las opciones de protocolo disponibles son: CURLPROTO_HTTP, CURLPROTO_HTTPS, CURLPROTO_FTP, CURLPROTO_FTPS, CURLPROTO_SCP, CURLPROTO_SFTP, CURLPROTO_TELNET, CURLPROTO_LDAP, CURLPROTO_LDAPS, CURLPROTO_DICT, CURLPROTO_FILE, CURLPROTO_TFTP, CURLPROTO_ALL | Agregado en cURL 7.19.4. |
CURLOPT_PROTOCOLS | Bitfield se refiere a CURLPROTO_* . Si está habilitado, el valor del campo de bits limita qué protocolos puede usar libcurl durante las transferencias. Esto le permitirá compilar libcurl para que admita muchos protocolos, pero sólo para utilizar un subconjunto de ellos cuyo uso esté permitido. Por defecto, libcurl utilizará todos los protocolos que admita. Ver CURLOPT_REDIR_PROTOCOLS .Las opciones de protocolo disponibles son: CURLPROTO_HTTP, CURLPROTO_HTTPS, CURLPROTO_FTP, CURLPROTO_FTPS, CURLPROTO_SCP, CURLPROTO_SFTP, CURLPROTO_TELNET, CURLPROTO_LDAP, CURLPROTO_LDAPS, CURLPROTO_DICT, CURLPROTO_FILE, CURLPROTO_TFTP, CURLPROTO_ALL | Agregado en cURL 7.19.4. |
CURLOPT_PROXYAUTH | Método de verificación para conexiones de proxy HTTP. Utilice los indicadores de campo de bits en CURLOPT_HTTPAUTH para configurar las opciones correspondientes. Actualmente, para la autenticación de proxy solo se admiten CURLAUTH_BASIC y CURLAUTH_NTLM . | Agregado en cURL 7.10.7. |
CURLOPT_PROXYPORT | El puerto del servidor proxy. El puerto también se puede configurar en CURLOPT_PROXY . | |
CURLOPT_PROXYTYPE | O CURLPROXY_HTTP (predeterminado) o CURLPROXY_SOCKS5 . | Agregado en cURL 7.10. |
CURLOPT_REDIR_PROTOCOLS | Valor del campo de bits en CURLPROTO_* . Si está habilitado, el valor del campo de bits limitará los protocolos que el hilo de transporte puede usar cuando sigue una redirección cuando CURLOPT_FOLLOWLOCATION está habilitado. Esto le permitirá restringir el hilo de transporte a un subconjunto de protocolos permitidos al redirigir. De forma predeterminada, libcurl permitirá todos los protocolos excepto ARCHIVO y SCP. Esto es ligeramente diferente de la versión preliminar 7.19.4 que sigue incondicionalmente todos los protocolos admitidos. Para conocer las constantes del protocolo, consulte CURLOPT_PROTOCOLS . | Agregado en cURL 7.19.4. |
CURLOPT_RESUME_FROM | Pase un desplazamiento de bytes al reanudar la transferencia (utilizado para reanudar la transferencia). | |
CURLOPT_SSL_VERIFYHOST | 1 Compruebe si hay un nombre común en el certificado SSL del servidor. Nota del traductor: Nombre común (Nombre común) generalmente significa completar el nombre de dominio (dominio) o subdominio (subdominio) para el cual va a solicitar un certificado SSL. 2 Compruebe que el nombre común exista y coincida con el nombre de host proporcionado. | |
CURLOPT_SSLVERSION | Versión SSL a utilizar (2 o 3). De forma predeterminada, PHP detectará este valor por sí solo, aunque en algunos casos es posible que sea necesario configurarlo manualmente. | |
CURLOPT_TIMECONDITION | Si se ha editado después de un cierto tiempo especificado por CURLOPT_TIMEVALUE , use CURL_TIMECOND_IFMODSINCE para devolver la página. Si no se ha modificado y CURLOPT_HEADER es verdadero, se devuelve un encabezado "304 No modificado" . Si CURLOPT_HEADER es falso, use CURL_TIMECOND_IFUNMODSINCE. , el valor predeterminado es CURL_TIMECOND_IFUNMODSINCE . | |
CURLOPT_TIMEOUT | Establezca el número máximo de segundos que cURL puede ejecutar. | |
CURLOPT_TIMEOUT_MS | Establece el número máximo de milisegundos que cURL puede ejecutar. | Agregado en cURL 7.16.2. Disponible desde PHP 5.2.3 en adelante. |
CURLOPT_TIMEVALUE | Establezca una marca de tiempo utilizada por CURLOPT_TIMECONDITION . De forma predeterminada, se utiliza CURL_TIMECOND_IFMODSINCE . |
Para los parámetros opcionales de las siguientes opciones, el valor debe establecerse en un valor de tipo cadena:
Opciones | Valor opcional | Observación |
---|---|---|
CURLOPT_CAINFO | El nombre de un archivo que contiene uno o más certificados para su verificación por parte del servidor. Este parámetro solo tiene significado cuando se usa con CURLOPT_SSL_VERIFYPEER . . | |
CURLOPT_CAPATH | Un directorio que contiene varios certificados de CA. Esta opción se utiliza con CURLOPT_SSL_VERIFYPEER . | |
CURLOPT_COOKIE | Establezca el contenido de la parte "Cookie:" de la solicitud HTTP. Varias cookies están separadas por un punto y coma seguido de un espacio (por ejemplo, " fruta=manzana; color=rojo "). | |
CURLOPT_COOKIEFILE | El nombre del archivo que contiene los datos de la cookie. El formato del archivo de la cookie puede ser el formato Netscape o simplemente se puede almacenar información de encabezado HTTP pura en el archivo. | |
CURLOPT_COOKIEJAR | Un archivo que guarda la información de las cookies una vez completada la conexión. | |
CURLOPT_CUSTOMREQUEST | Utilice un mensaje de solicitud personalizado en lugar de "GET" o "HEAD" para la solicitud HTTP. Esto es útil para realizar "BORRAR" u otras solicitudes HTTP más encubiertas. Los valores válidos son "GET" , "POST" , "CONNECT" , etc. Es decir, no ingrese aquí la solicitud HTTP completa. Por ejemplo, ingresar "GET /index.html HTTP/1.0rnrn" es incorrecto.
| |
CURLOPT_EGDSOCKET | Similar a CURLOPT_RANDOM_FILE , excepto por un socket de Entropy Gathering Daemon. | |
CURLOPT_ENCODING | El valor de "Accept-Encoding:" en el encabezado de la solicitud HTTP. Las codificaciones admitidas son "identity" , "deflate" y "gzip" . Si es la cadena vacía "" , todos los tipos de codificación admitidos se enviarán en el encabezado de la solicitud. | Agregado en cURL 7.10. |
CURLOPT_FTPPORT | Este valor se utilizará para obtener la dirección IP requerida para el comando "POST" de FTP. El comando "POST" le dice al servidor remoto que se conecte a la dirección IP que especificamos. Esta cadena puede ser una dirección IP de texto plano, un nombre de host, un nombre de interfaz de red (bajo UNIX) o simplemente un '-' para usar la dirección IP predeterminada. | |
CURLOPT_INTERFACE | El nombre de la interfaz de envío de la red puede ser un nombre de interfaz, una dirección IP o un nombre de host. | |
CURLOPT_KRB4LEVEL | Nivel de seguridad KRB4 (Kerberos 4). Cualquiera de los siguientes valores es válido (en orden de menor a mayor): "claro" , "seguro" , "confidencial" , "privado". Si la cadena no coincide con ninguno de estos, se utilizará "privado" . Establecer esta opción en NULL deshabilitará la autenticación de seguridad KRB4. Actualmente, la certificación de seguridad KRB4 sólo se puede utilizar para transferencias FTP. | |
CURLOPT_POSTFIELDS | Todos los datos se envían mediante la operación "POST" en el protocolo HTTP. Para enviar un archivo, anteponga el nombre del archivo con @ y utilice la ruta completa. Este parámetro se puede pasar como una cadena codificada en URL como ' para1=val1¶2=val2&... ' o usar una matriz con el nombre del campo como clave y los datos del campo como valor. Si el valor es una matriz, el encabezado Content-Type se establecerá en multipart/form-data . | |
CURLOPT_PROXY | Canal proxy HTTP. | |
CURLOPT_PROXYUSERPWD | Una cadena con el formato "[nombre de usuario]:[contraseña]" utilizada para conectarse al proxy. | |
CURLOPT_RANDOM_FILE | El nombre de un archivo utilizado para generar la semilla del número aleatorio SSL. | |
CURLOPT_RANGE | En forma de "XY" , donde X e Y son opciones opcionales para obtener el rango de datos, en bytes. El subproceso de transporte HTTP también admite varios duplicados separados por comas, como "XY,NM" . | |
CURLOPT_REFERER | El contenido de "Referer:" en el encabezado de la solicitud HTTP. | |
CURLOPT_SSL_CIPHER_LIST | Una lista de algoritmos de cifrado SSL. Por ejemplo, RC4-SHA y TLSv1 son listas de cifrado disponibles. | |
CURLOPT_SSLCERT | El nombre de un archivo que contiene un certificado en formato PEM. | |
CURLOPT_SSLCERTPASSWD | Se requiere contraseña para usar el certificado CURLOPT_SSLCERT . | |
CURLOPT_SSLCERTYPE | El tipo de certificado. Los formatos admitidos son "PEM" (predeterminado), "DER" y "ENG" . | Agregado en cURL 7.9.3. |
CURLOPT_SSLENGINE | Variable del motor criptográfico utilizada para la clave privada SSL especificada en CURLOPT_SSLKEY . | |
CURLOPT_SSLENGINE_DEFAULT | Variables utilizadas para operaciones de cifrado asimétrico. | |
CURLOPT_SSLKEY | El nombre del archivo que contiene la clave privada SSL. | |
CURLOPT_SSLKEYPASSWD | La contraseña para la clave privada SSL especificada en CURLOPT_SSLKEY .
| |
CURLOPT_SSLKEYTYPE | El tipo de cifrado de la clave privada especificada en CURLOPT_SSLKEY . Los tipos de clave admitidos son "PEM" (valor predeterminado), "DER" y "ENG" . | |
CURLOPT_URL | La dirección URL que se debe obtener también se puede configurar en la función curl_init() . | |
CURLOPT_USERAGENT | Incluya una cadena de encabezado "User-Agent:" en la solicitud HTTP. | |
CURLOPT_USERPWD | Pase el nombre de usuario y la contraseña necesarios para una conexión en el formato: "[nombre de usuario]:[contraseña]" . |
Para los parámetros opcionales de las siguientes opciones, el valor debe establecerse en una matriz:
Opciones | Valor opcional | Observación |
---|---|---|
CURLOPT_HTTP200ALIASES | 200 matriz de códigos de respuesta, la respuesta en la matriz se considera una respuesta correcta; de lo contrario, se considera un error. | Agregado en cURL 7.10.3. |
CURLOPT_HTTPHEADER | Una matriz utilizada para configurar campos de encabezado HTTP. Utilice una matriz de la siguiente forma para establecer: matriz('Tipo de contenido: texto/sin formato', 'Longitud del contenido: 100') | |
CURLOPT_POSTQUOTE | Un conjunto de comandos FTP ejecutados en el servidor después de que se ejecuta la solicitud FTP. | |
CURLOPT_QUOTE | Un conjunto de comandos FTP que se ejecutarán en el servidor antes de la solicitud FTP. |
Para los parámetros opcionales de las siguientes opciones, el valor debe establecerse en un recurso de flujo (por ejemplo, usando fopen()):
Opciones | Valor opcional |
---|---|
CURLOPT_FILE | Establezca la ubicación del archivo de salida. El valor es un tipo de recurso. El valor predeterminado es STDOUT (navegador). |
CURLOPT_INFILE | La dirección del archivo que debe leerse al cargar un archivo. El valor es un tipo de recurso. |
CURLOPT_STDERR | Establezca una dirección de salida de error, el valor es un tipo de recurso, reemplazando el STDERR predeterminado. |
CURLOPT_WRITEHEADER | Establezca la dirección del archivo donde se escribe el contenido de la parte del encabezado y el valor es un tipo de recurso. |
Para los parámetros opcionales de las siguientes opciones, el valor debe establecerse en un nombre de función de devolución de llamada:
Opciones | Valor opcional |
---|---|
CURLOPT_HEADERFUNCTION | Establezca una función de devolución de llamada. Esta función tiene dos parámetros. El primero es el identificador del recurso cURL y el segundo son los datos del encabezado de salida. La salida de los datos del encabezado debe depender de esta función, que devuelve el tamaño de los datos escritos. |
CURLOPT_PASSWDFUNCTION | Configure una función de devolución de llamada con tres parámetros. El primero es el identificador del recurso cURL, el segundo es una solicitud de contraseña y el tercer parámetro es la longitud máxima permitida de la contraseña. Devuelve el valor de la contraseña. |
CURLOPT_PROGRESSFUNCTION | Configure una función de devolución de llamada con tres parámetros. El primero es el identificador del recurso cURL, el segundo es un recurso de descriptor de archivo y el tercero es la longitud. Devuelve los datos contenidos. |
CURLOPT_READFUNCTION | Nombre de la función de devolución de llamada. Esta función debe aceptar tres parámetros. El primero es el recurso cURL; el segundo es el recurso de flujo pasado a cURL a través de la opción CURLOPT_INFILE ; el tercer parámetro es la cantidad máxima de datos que se pueden leer. La función de devolución de llamada debe devolver una cadena cuya longitud sea menor o igual a la cantidad de datos solicitada (tercer parámetro). Generalmente se lee del recurso de flujo entrante. Devuelve la cadena vacía como una señal EOF (fin de archivo). |
CURLOPT_WRITEFUNCTION | Nombre de la función de devolución de llamada. Esta función debe aceptar dos parámetros. El primero es el recurso cURL; el segundo es la cadena de datos que se escribirá. Los datos deben guardarse dentro de la función. La función debe devolver el número exacto de bytes pasados para escribir los datos; de lo contrario, la transferencia se verá interrumpida por un error. |
Devuelve VERDADERO en caso de éxito o FALSO en caso de error.
Versión | ilustrar |
---|---|
5.2.10 | Se presentaron CURLOPT_PROTOCOLS y CURLOPT_REDIR_PROTOCOLS . |
5.1.0 | Se presentaron CURLOPT_AUTOREFERER , CURLOPT_BINARYTRANSFER , CURLOPT_FTPSSLAUTH , CURLOPT_PROXYAUTH y CURLOPT_TIMECONDITION . |
5.0.0 | Se introdujeron CURLOPT_FTP_USE_EPRT , CURLOPT_NOSIGNAL , CURLOPT_UNRESTRICTED_AUTH , CURLOPT_BUFFERSIZE , CURLOPT_HTTPAUTH , CURLOPT_PROXYPORT , CURLOPT_PROXYTYPE , CURLOPT_SSLCERTTYPE y CURLOPT_HTTP200ALIASES . . |
Inicialice una nueva sesión de cURL y obtenga una página web
<?php// Crear un nuevo recurso cURL $ch = curl_init();// Establecer la URL y las opciones correspondientes curl_setopt($ch, CURLOPT_URL, "http://www.example.com/"); , CURLOPT_HEADER, falso);// Tome la URL y pásela al navegador curl_exec($ch);//Cierre el recurso cURL y libere el recurso del sistema curl_close($ch);?>
Cargar ejemplo de archivo:
<?php/* http://localhost/upload.php:print_r($_POST);print_r($_FILES);*/$ch = curl_init();$data = array('nombre' => 'Foo', 'archivo' => '@/home/user/test.png');curl_setopt($ch, CURLOPT_URL, 'http://localhost/upload.php');curl_setopt($ch, CURLOPT_POST, 1);curl_setopt($ch, CURLOPT_POSTFIELDS, $datos);curl_exec($ch);?>
Los resultados de salida del ejemplo anterior son los siguientes:
Array( [nombre] => Foo)Array( [archivo] => Array ( [nombre] => test.png [tipo] => imagen/png [tmp_name] => /tmp/phpcpjNeQ [error] => 0 [ tamaño] => 279 ))
Al pasar una matriz a CURLOPT_POSTFIELDS, cURL codificará los datos en multipart/form-data, mientras que al pasar una cadena codificada en URL, los datos se codificarán en application/x-www-form-urlencoded.