Php 在Slim framework中移动上载的文件时出错

Php 在Slim framework中移动上载的文件时出错,php,file-upload,slim-3,Php,File Upload,Slim 3,我试图使用slim框架上传文件,但我一直遇到这个恼人的错误——“将上传的文件dumped.jpg移动到/var/www/html/user name/src/uploads时出错” 这是我的密码: $app->post('/issues/create', function( Request $request, Response $response, array $args ) { $files = $request->getUploadedFiles(); $file

我试图使用slim框架上传文件,但我一直遇到这个恼人的错误——“将上传的文件dumped.jpg移动到/var/www/html/user name/src/uploads时出错”

这是我的密码:

$app->post('/issues/create', function( Request $request, Response $response, array $args ) {
    $files = $request->getUploadedFiles();
    $file  = $files['photo'];

    $destinationPath = __DIR__.'/uploads';

    if( $file->getError() === UPLOAD_ERR_OK ) {
         $file->moveTo($destinationPath);
    }
});

请问我做错了什么?

代码本身看起来是正确的,但错误消息不是最佳的,因为它没有指定在尝试移动文件时出错的地方。我假设这是一个所有权/权限问题,这些是导致此类错误的最常见原因

您能否检查运行您的应用程序的用户(可能是
www-data
)是否允许在
/var/www/html/safeMonkeyApi/src/uploads
中创建新文件

与错误无关,您可能应该在使用前检查是否设置了
$files['photo']
。永远不要信任用户输入。;-)

指定新文件的名称,如下所示:

$uploadPath = $_SERVER['DOCUMENT_ROOT'] . '/uploads/';
$uploadedFiles = $request->getUploadedFiles();
$file = $uploadedFiles['file'];
$file->moveTo($uploadPath . $file->getClientFilename());