Slim Framework с Paris / Idiorm / Twig - Как справиться с загрузкой файлов? - PullRequest
0 голосов
/ 02 марта 2012

Джип, вот в чем вопрос.Как работать с Fileuplaods с помощью этой замечательной команды?

Что-то вроде:

$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/');
});

Не будет работать, причина:

Ошибка приложения Slim: Сообщение: неопределенная переменная: HTTP_POST_FILES

Но как мне получить доступ к полю загрузки файла, например:

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

через Slim?

1 Ответ

4 голосов
/ 02 марта 2012

$HTTP_POST_FILES не является суперглобальным. Это выходит за рамки вашей функции.

Вместо этого следует использовать $ _ FILES , также потому что $HTTP_POST_FILES устарело.

...