Я создал API in PHP
для сохранения данных формы в базе данных.API будет использоваться как для веб-приложений, так и для мобильных приложений.API получает данные в JSON
и отправляет ответ только в JSON
.Я использую PHP CURL
для вызова API, здесь не будет звонить AJAX
.
API (employee-registration.php)
<?php
$params = file_get_contents('php://input'); // Input stream
// Set initial values
$salutation = $first_name = $last_name = $email = "";
// Extract data
$json = json_decode($params);
$salutation = trim($json->salutation);
$first_name = trim($json->first_name);
$last_name = trim($json->last_name);
$email = trim($json->email);
// Do the validation and save data in database
// Then send response in JSON
$obj = new stdClass();
$obj->status = $status;
$obj->message = $message;
$obj->errors = $errors;
echo json_encode($obj);
?>
API вызова с использованием CURL
<?php
$site_path = "http://www.mywebsite.com/";
$postData = array(
'salutation' => 'mr',
'first_name' => 'John',
'last_name' => 'Pinto',
'email' => 'test@website.com'
);
$postData = json_encode($postData);
$ch = curl_init();
$url = $site_path.'path/to/api/employee-registration.php';
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
curl_setopt($ch,CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_POST, count($postData));
curl_setopt($ch, CURLOPT_POSTFIELDS, $postData);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type:application/json'));
$output=curl_exec($ch);
curl_close($ch);
echo $output;
?>
Все вышеперечисленное работает отлично, я отправляю данные JSON в API и получаю данные JSON из API.Но что, если есть файл со всеми другими данными, скажем profile_picture
.Как я могу изменить API, чтобы он мог получать данные в формате JSON из Web и Mobile APP вместе с файлом?Ajax-вызов здесь не разрешен, я должен использовать CURL для Web.пожалуйста помогите