Send File with POST in Slim Framework
<p>I need upload file to service on my REST API with Slim, in my code I used to use:</p>

<pre><code>$_datos = $app-&gt;request;
</code></pre>

<p>but instead I used:</p>

<pre><code>$_datos-&gt;post('FileInputName');
</code></pre>

<p>Which didn't assign anything. Please help me!
Complete code:</p>

<pre><code>$app-&gt;post('/aplicar',function() use($app) {
    try{
        //Code block for capture file and save it ¡Don't Work!
        if(basename($_FILES['_hojaVida']['name']) != null){
            if(!is_dir("./hojas_vida/"))
                mkdir("./hojas_vida/", 0777);

            $dir_subida = './hojas_vida/';
            $fichero_subido = $dir_subida . $POST['_nombre'].'-'.$POST['_apellido'].'-'.str_replace(' ', '-', basename($_FILES['_hojaVida']['name']));

            echo '&lt;pre&gt;';
            if (move_uploaded_file($_FILES['_hojaVida']['tmp_name'], $fichero_subido)) {
                echo "El fichero es válido y se subió con éxito.\n";
            } else {
                echo "¡Posible ataque de subida de ficheros!\n";
            }
        } //End Code block for capture file and save

        $app-&gt;response()-&gt;header("Content-Type", "application/json");
        $_datos = $app-&gt;request;
        $_connection = getConnection();
        $_connection-&gt;beginTransaction();
        $_dbh = $_connection-&gt;prepare(
            "INSERT INTO Aplicable(_id_VAC, Nombre_APL, Apellidos_APL, Curriculum_APL, Creacion_APL) 
            VALUES (:_id_VAC,:Nombre_APL,:Apellidos_APL,:Curriculum_APL,NOW());"
        );
        $_estado = $_dbh-&gt;execute(
            array(
                ':_id_VAC' =&gt; $_datos-&gt;post('_id_VAC'),
                ':Nombre_APL' =&gt; $_datos-&gt;post('_nombre'),
                ':Apellidos_APL' =&gt; $_datos-&gt;post('_apellido'),
                ':Curriculum_APL' =&gt; str_replace(' ', '-', $_datos-&gt;post('_curriculum'))
            )
        );

        if ($_estado){
            $app-&gt;response-&gt;headers-&gt;set("Content-type", "application/json");
            $app-&gt;response-&gt;status(200);
            $app-&gt;response-&gt;body(json_encode(array('estado'=&gt;true,'mensaje'=&gt;'Datos insertados correctamente.', 'Datos'=&gt;var_dump($app-&gt;request))));

            $destinatario = $_datos-&gt;post('_correo');
            $asunto = "Subject text" ;

            //para el envío en formato HTML 
            $headers = "MIME-Version: 1.0\r\n";
            $headers .= "Content-type: text/html; charset=iso-8859-1\r\n";

            //dirección del remitente 
            $headers .= "From: name &lt;info@domain.com&gt;\r\n";

            //dirección de respuesta, si queremos que sea distinta que la del remitente 
            //$headers .= "Reply-To: mailto@domain.com\r\n"; 

            //ruta del mensaje desde origen a destino 
            $headers .= "Return-path: mail3@domain.com.co\r\n";

            //direcciones que recibián copia 
            $headers .= "Cc: copymail@domain.com\r\n";

            //direcciones que recibirán copia oculta 
            $headers .= "Bcc: mail1@domain.co,mail2@domain.co\r\n";

            mail($destinatario,$asunto,$cuerpo,$headers);
        }
        $_connection-&gt;commit();
        $_connection = null;

    }catch(PDOException $e){
        $app-&gt;response-&gt;status(500);
        echo "Error: Insertando persona: " . $e-&gt;getMessage();
    }
});
</code></pre>