Я создал 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);
?>
Call API using CURL
<?php
$site_path = "http://www.mywebsite.com/";
$postData = array(
'salutation' => 'mr',
'first_name' => 'John',
'last_name' => 'Pinto',
'email' => '[email protected]'
);
$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 из Интернета и мобильного приложения с файлом? Вызов Ajax здесь не разрешен, я должен использовать CURL для Интернета. пожалуйста помоги
Спасибо за ваш комментарий, но это не решило мою проблему






Не совсем дубликат, но вот как вы отправляете данные ~ stackoverflow.com/q/9081079/283366. Что касается того, как получить / расшифровать запрос, возможно, вам просто нужно поэкспериментировать. Я не совсем уверен, какие данные будут в потоке
php://inputдля запросаmultipart/form-data