2015-06-16 3 views
1

Я создаю REST API для обновления данных профиля пользователя. Я создал один API & Я хочу использовать его для обновления всех типов данных, таких как имя, адрес электронной почты и изображение профиля.Как загрузить изображение с помощью метода put в php?

Если я не отправляю запрос по нескольким частям (значит, я только обновляю текст), API работает нормально, но если я обновляю изображение, то вижу проблему - я не могу обновить изображение профиля. Но если я использую метод POST, то я могу обновить данные профиля pic &.

Вот код для REST API

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

Пожалуйста, предложите что делать?

ответ

0

, если вы еще не сделали этого ...

вызов 'PUT' метод на старом браузере требуют, чтобы настроить/заголовок Override принять 'PUT' первый, ИЛИ Чем проще способ переопределить 'POST' как 'PUT' по добавление дополнительных параметров _METHOD=PUT http://www.slimframework.com/docs/objects/request.html

Смежные вопросы