简体   繁体   English

Slim Framework with Paris / Idiorm / Twig-如何处理文件上传?

[英]Slim Framework with Paris / Idiorm / Twig - How to handle Fileuploads?

Jep, thats the Question. 耶普,那就是问题。 How to handle Fileuplaods via this nice Team? 如何通过这个好团队处理Fileuplaods?

Something like: 就像是:

$app -> post('/new/', function() use ($app) {
    $photo = Model::factory('Photos') -> create();      
    $unique_id = md5(uniqid(rand(), true));
    $WORKSPACE = 'data/photos/';
    $media = $HTTP_POST_FILES['photo']['name'];
    $filetype = strrchr($media,'.');
    $new_upload = $WORKSPACE . $unique_id . $filetype;
    $the_upload = copy($HTTP_POST_FILES['photo']['tmp_name'], $new_upload);
    $uploaded_file   = $new_upload;
    @chmod($uploaded_file, 0777);

    $photo -> timestamp = date('Y-m-d H:i:s');
    $photo -> url = 'data/photos/' . $unique_id . $filetype;
    $photo -> new_picture = $unique_id . $filetype;
    $photo -> description = $app -> request() -> post('description');
    $photo -> save();
    $app -> redirect('/upload/');
});

Will not work, cause: 无法正常工作,原因:

Slim Application Error: Message: Undefined variable: HTTP_POST_FILES Slim应用程序错误:消息:未定义的变量:HTTP_POST_FILES

But how can i access a fileupload field like: 但是我如何访问文件上传字段,如:

<input type="file" name="photo" value="" id="photo" />

via Slim? 通过Slim?

$HTTP_POST_FILES is not a superglobal. $HTTP_POST_FILES不是超全局变量。 It is out of the scope of your function. 它超出了您的功能范围。

You should use $_FILES instead, also because $HTTP_POST_FILES is deprecated. 您应该改用$ _FILES ,这也是因为不建议使用$HTTP_POST_FILES

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM