get('folders.upload'), $tipo . '*.pdf' ]); $files = glob($glob); $archivos = []; foreach ($files as $filename) { $file = new \SplFileInfo($filename); $archivos []= $file; } $titulo = $tipo; $months = (object) ['full' => [], 'short' => []]; $m = Carbon::createFromDate(0, 1, 1); for ($i = 0; $i < 12; $i ++) { $months->full []= ucwords($m->copy()->addMonths($i)->locale('es_ES')->isoFormat('MMMM')); $months->short []= ucwords($m->copy()->addMonths($i)->locale('es_ES')->isoFormat('MMM')); } return $view->render($response, 'admin.archivos.list', compact('titulo', 'archivos', 'months')); } public function upload(Request $request, Response $response, Filemanager $filemanager, Container $container): Response { $post = $request->getParsedBody(); $files = $request->getUploadedFiles(); $file = $files['archivo']; $filename = implode(DIRECTORY_SEPARATOR, [ $container->get('folders.upload'), $post['filename'] ]); if (isset($post['month'])) { $filename .= '_' . implode('_', array_reverse(explode(' ', $post['month']))); } $filename .= '.pdf'; $file->moveTo($filename); $status = (file_exists($filename) and filemtime($filename) == time()); $output = [ 'informacion' => $post, 'estado' => $status, 'archivo' => $filename ]; $response->getBody()->write(json_encode($output)); return $response ->withHeader('Content-Type', 'application/json') ->withStatus(201); } public function delete(Request $request, Response $response, Container $container): Response { $post = $request->getParsedBody(); $filename = implode(DIRECTORY_SEPARATOR, [ $container->get('folders.upload'), $post['archivo'] . '.pdf' ]); $status = unlink($filename); $output = [ 'informacion' => $post, 'estado' => $status, 'archivo' => $filename ]; $response->getBody()->write(json_encode($output)); return $response ->withHeader('Content-Type', 'application/json') ->withStatus(201); } }