Reputation: 193
This is how I am posting data to my controller via GET
use Slim\Views\Twig as View;
class place_pub_controller extends BaseController{
function place_pub($request , $response){
$arr_requests=$request->getParams();
$id=$arr_requests['prop_id'];
$file=$arr_requests['my_file']; //output [object file]
Html FORM
<form id="frm_pub" method="GET" enctype="multipart/form-data">
<div class="container"></div>
</form>
<input type="file"> is placed dynamically within div class="container"
I am unable to get the file. How should i proceed?
Upvotes: 0
Views: 6218
Reputation: 11125
Slim3 also uses the PSR-7 file so you should use the uploaded files function on the request
function place_pub($request, $response) {
$files = $request->getUploadedFiles();
if (empty($files['my_file'])) {
throw new Exception('No file has been send');
}
$myFile = $files['my_file'];
if ($myFile->getError() === UPLOAD_ERR_OK) {
$uploadFileName = $myFile->getClientFilename();
$myFile->moveTo('uploads/' . $uploadFileName);
}
}
Look at the UploadedFileInterface
for more information what functions the file has.
Upvotes: 4