Es trivial para obtener una imagen del servidor, pero creo que por algo diferente. Es una pregunta disparatada pero ... ¿Es posible enviar un archivo (imagen) a un servidor pero no usar la carga de formulario o la conexión ftp? Deseo enviar una solicitud a, por ej. http://www.example.com/file.php con contenido binario. Creo que tengo que configurar Content-type header image/jpeg, pero ¿cómo agregar algo de contenido a mi solicitud?CURL de PHP enviar la imagen
17
A
Respuesta
10
ver http://docs.php.net/function.curl-setopt:
CURLOPT_POSTFIELDS Los datos completos para publicar en una operación HTTP "POST". Para publicar un archivo, anteponga un nombre de archivo con @ y use la ruta completa. Esto se puede pasar como una cadena urlencoded como 'para1 = val1 & para2 = val2 & ...' o como una matriz con el nombre del campo como clave y datos de campo como valor. Si value es una matriz, el encabezado Content-Type se establecerá en multipart/form-data.
16
hay múltiples formas de usar curl para cargar archivos de imagen, por ejemplo:
$ch = curl_init();
$data = array('name' => 'Foo', 'file' => '@/path/to/image.jpeg');
curl_setopt($ch, CURLOPT_URL, 'http://localhost/upload.php');
curl_setopt($ch, CURLOPT_POST, 1);
//CURLOPT_SAFE_UPLOAD defaulted to true in 5.6.0
//So next line is required as of php >= 5.6.0
curl_setopt($ch, CURLOPT_SAFE_UPLOAD, false);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_exec($ch);
puede comprobar los ejemplos en: http://au.php.net/manual/en/function.curl-setopt.php
0
VolkerK es completamente correcto, pero mi experiencia sugiere que el envío de un archivo " @ "el operador solo trabajará con arreglos.
$post['file'] = "@FILE_Path"
Ahora puede enviar el archivo utilizando CURLOPT_POSTFIELDS
+0
Este método ya no se recomienda. Ver: http://php.net/manual/en/class.curlfile.php – Erik
Cuestiones relacionadas
- 1. Envío de imagen utilizando PHP cURL
- 2. Guardar imagen de url con curl PHP
- 3. PHP cURL solo requiere enviar y no esperar la respuesta
- 4. Php - Curl de depuración
- 5. PHP Curl CURLOPT_IPRESOLVE
- 6. cómo detener curl php desde enviar aceptar encabezado
- 7. Auto Enviar un formulario (cURL)
- 8. Guardar imagen de la URL con cURL
- 9. leyendo la página SSL con CURL (php)
- 10. PHP CURL al controlador CodeIgniter
- 11. gestión de la salida curl en php
- 12. Caché usando PHP cURL
- 13. php cURL opción silenciosa?
- 14. Cabeceras personalizadas PHP cURL
- 15. Uso de curl para enviar/recuperar resultados de formularios
- 16. PHP Curl, recuperación de la dirección IP del servidor
- 17. PHP cURL HTTP PUT
- 18. PHP Multiple Curl Requests
- 19. PHP: Simulate XHR using cURL
- 20. PHP CURL y HTTPS
- 21. reintento de cURL en PHP
- 22. Enviar imagen de botón
- 23. cURL para enviar datos a una forma
- 24. cURL: de PHP a BASH
- 25. POST con curl sin enviar datos
- 26. Convertir línea de comando cURL a PHP cURL
- 27. Traducir línea de comando curl en PHP cURL
- 28. PHP PECL_HTTP vs cURL Extensión
- 29. CURL con PHP - Muy lento
- 30. PHP Curl UTF-8 Charset
Esto es lo que estaba buscando. ¡Gracias! –
¡Gracias un ejemplo tan completo y conciso! –
CURLOPT_SAFE_UPLOAD por defecto en verdad en 5.6.0 ... por lo que tendrá que añadir curl_setopt ($ ch, CURLOPT_SAFE_UPLOAD, false); antes de configurar CURLOPT_POSTFIELDS. – muglio