Example #1
0
 * @apiName Index Files
 * @apiGroup Files
 *
 * @apiParam {string} [full] Optional You can pass `?full` to get more details
 *
 * @apiSuccess (200) Array Array of files paths
 */
$this->get('', function ($req, $res) use($fs) {
    ///https://weierophinney.github.io/2015-10-20-PSR-7-and-Middleware/#/35
    //->getUploadedFiles
    try {
        // Detailed view
        if (isset($req->getQueryParams()['full'])) {
            $files = [];
            $fs->index('', function (SplFileInfo $file, $cdir) use(&$files) {
                $files[] = ['filename' => $file->getFileName(), 'path' => (string) $cdir, 'lastedit' => $file->getMTime(), 'size' => $file->getSize(), 'type' => $file->getType()];
            });
            return $this->api->json($res, $files);
        }
        return $this->api->json($res, $fs->index());
    } catch (IOException $e) {
        return $this->api->json($res, ['error' => 'IOException', 'message' => $e->getMessage()], 500);
    } catch (Exception $e) {
        return $this->api->json($res, ['error' => 'Exception', 'message' => 'Server error'], 500);
    }
});
/**
 * @api {post} /files/upload Upload a file
 * @apiName Upload File
 * @apiGroup Files
 * @apiDescription Upload file(s) via multipart data upload