Enviar archivo a través de cURL desde el formulario POST en PHP
Estoy escribiendo una API y quiero manejar la carga de archivos desde un formularioPOST
. El marcado para el formulario no es nada complejo:
<form action="" method="post" enctype="multipart/form-data">
<fieldset>
<input type="file" name="image" id="image" />
<input type="submit" name="upload" value="Upload" />
</fieldset>
</form>
Sin embargo, tengo dificultades para entender cómo manejar este lado del servidor y enviar junto con una solicitud de cURL.
Estoy familiarizado con el envíoPOST
solicitudes con cURL con una matriz de datos, y los recursos que he leído al cargar archivos me dicen que prefije el nombre del archivo con un@
símbolo. Pero estos mismos recursos tienen un nombre de archivo codificado, p.
$post = array(
'image' => '@/path/to/myfile.jpg',
...
);
Bueno, ¿qué ruta de archivo es esta? ¿Dónde lo encontraría? ¿Sería algo como$_FILES['image']['tmp_name']
, en cuyo caso mi$post
La matriz debería verse así:
$post = array(
'image' => '@' . $_FILES['image']['tmp_name'],
...
);
¿O voy por esto de la manera incorrecta? Cualquier consejo sería muy apreciado.
EDITAR: Si alguien pudiera darme un fragmento de código de dónde iría con los siguientes fragmentos de código, estaría muy agradecido. Estoy principalmente buscando lo que enviaría como parámetros cURL, y una muestra de cómo usar esos parámetros con el script de recepción (llamémoslocurl_receiver.php
por el bien de la discusión).
Tengo este formulario web:
<form action="script.php" method="post" enctype="multipart/form-data">
<fieldset>
<input type="file" name="image />
<input type="submit" name="upload" value="Upload" />
</fieldset>
</form>
Y esto seriascript.php
:
if (isset($_POST['upload'])) {
// cURL call would go here
// my tmp. file would be $_FILES['image']['tmp_name'], and
// the filename would be $_FILES['image']['name']
}