首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在php中使用put方法上传图像?

如何在php中使用put方法上传图像?
EN

Stack Overflow用户
提问于 2015-06-16 06:08:51
回答 1查看 1.1K关注 0票数 1

我正在创建一个REST,用于更新用户配置文件数据。我已经创建了一个API &我希望使用它来更新所有类型的数据,如名称、电子邮件和配置文件图片。

如果我没有发送多个部分的请求(这意味着我只是在更新文本),API可以正常工作,但是如果我更新了图像,我就会发现一个问题--我无法更新配置文件图片。但是如果我使用POST方法,那么我也可以更新配置文件图片和数据。

这里是REST 的代码

代码语言:javascript
运行
复制
$app->put('/updateUser', 'authenticate', function() use($app)
     {


        global $user_id;
        $isFileUpdated=false;
        $file_path = "../uploads/";

        if (isset ( $_FILES ['files'] ))
        {

            $file_path = $file_path . basename( $_FILES['files']['name']);
            if(move_uploaded_file($_FILES['files']['tmp_name'], $file_path))
            {
                $isFileUpdated=true;

            }
        }


        $name = $app->request->put ( 'name' );
        $email = $app->request->put ( 'email' );
        $phone=$app->request->put( 'phone' );
        $password = $app->request->put ( 'password' );
        $address=$app->request->put ( 'address' );
        $language=$app->request->put ( 'language' );
        $profession=$app->request->put ( 'profession' );

        $db = new DbHandler();
        $response = array();

        // updating task
        $result = $db->updateUser($user_id, $name, $email,$isFileUpdated,$file_path,$phone,$password,$address,$language,$profession);
        if ($result) 
        {
            // task updated successfully
            $response["error"] = false;
            $response["message"] = "User updated successfully";
        }
        else 
        {
            // task failed to update
            $response["error"] = true;
            $response["message"] = "User failed to update. Please try again!";
        }
        echoRespnse(200, $response);
    });

请建议一下该怎么做?

EN

回答 1

Stack Overflow用户

发布于 2016-05-23 08:36:47

如果你没这么做..。

对旧浏览器上的'PUT'方法的调用要求您首先自定义/重写头部以接受'PUT',或者更简单的方法是通过添加额外的_METHOD=PUT http://www.slimframework.com/docs/objects/request.html参数将'POST'重写为'PUT'

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30859954

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档