Я пытаюсь получить данные поста JSON из приложения Android в веб-сервис php, но он не может получить. кодовое шоу, под которым я использовал

Я создал этот код для получения данных из приложения Android. после извлечения данных json я их декодирую, а затем извлекаю переменную key, которая является кодом base 64 для изображения, и переменную ori_name, которая является именем изображения. после этого я создаю файл образа на стороне сервера из кода base 64 и сохраняю файл на сервере. если изображение хранится на сервере, то iam хранит имя и путь к изображению в одной базе данных. когда я выполняю этот код с помощью приложения для Android, он возвращает только ноль на стороне Android. Есть ли здесь какое-либо решение для получения данных? и обратите внимание, что приложение для Android разработано моим другом, который использует мой созданный сервис. он получает нулевое значение, когда он его использует. Пожалуйста, помогите мне решить эту проблему.

<?php
//process client request(via URL)
header("content-Type:application/json");
$data=$_REQUEST['jdata'];//request json data
$imgdata=json_decode($data);//decode json data
$basecode=$imgdata->{'key'};//fetch base64 code of image
$imgname=$imgdata->{'ori_name'};//fetch image name
$response=get_url($basecode,$imgname);//cal function for store image at server
return deliver_response($response);
function deliver_response($status)
{
header("HTTP/1.1");
$response['status']=$status;
$json_response=json_encode($response);
return $json_response;//return json response to android app
}
function get_url($basecode,$imgnm)
{
$decoded= base64_decode($basecode);//convert base 64 code to string format

$location=$_SERVER['HTTP_HOST']."/Clients/krishinternational/MobileService/images/".$imgnm;
$output_file="../images/".$imgnm;//define output file location
$ifp = fopen($output_file, "wb"); //create file
$rs=fwrite($ifp, $decoded); //write image in file
if($rs!=False)//check weather file is written or not
{
fclose($ifp);
$conn =mysqli_connect('host','user','password','db_name');//creating database connection
if ($conn->connect_error)
{
die("Connection failed: " . $conn->connect_error);
}$query="insert into tblimage values('".$imgnm."','".$location."')";//query to store image path in database
if ($conn->query($query) === TRUE)
{
//echo "New record created successfully";
mysqli_close($conn);
return True;//if successfully inserted then return true
}
else
{
return False;//if not succeed then return false
}
}
else
{
return False;
}
}
?>

0

Решение

Благодаря Indra я получил результат тестирования от Rest Client. ошибка была в том, что я запрашиваю данные json из приложения для Android, но на самом деле я должен использовать file_get_contents.

$input=file_get_contents("php://input");

спасибо Индра

0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector