Hello everyone I am a newbie to php and this is my first ever app over php.
I am trying to create a new album through graph api and upload photos to it.
I’ve the following code in place, problem is when after creating an album facebook graph api returns data that contains the id of the album and that id is later used to upload photos to that album.
In my case I am getting the data but I am unable to read through it, I tried to access it as an object, as an array but none is working.
To check the viability when I tried to print it whole it is giving output like this.
Result: {"data":[{"id":"321215475937088","from":{"name":"Lorem …
I want to know how I can access this id element? whether $result is an array, object or what. I’ve tried every possibility that I could come up with but am not getting the required output.
// Create a new album
$graph_url = "https://graph.facebook.com/me/albums?" . "access_token=" . $access_token;
$postdata = http_build_query(array('name' => $album_name, 'message' => $album_description));
$opts = array('http' => array('method' => 'POST', 'header' => 'Content-type: application/x-www-form-urlencoded', 'content' => $postdata));
$context = stream_context_create($opts);
//$result = json_decode(file_get_contents($graph_url, false, $context));
$ch = curl_init();
$timeout = 5;
curl_setopt($ch, CURLOPT_URL, $graph_url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
$result = curl_exec($ch);
curl_close($ch);
echo "<pre>";
echo "Result: " . $result; //output of this line is given above
echo "Result[id]: " . $result[id]; //Notice: Use of undefined constant id - assumed 'id' ...
echo "Result[data][id]: " . $result[data][id]; //Notice: Use of undefined constant data - assumed 'data'...
//Notice: Use of undefined constant id - assumed 'id'...
//Fatal error: Cannot use string offset as an array in ...
echo "Result ID: " . $result -> id;
echo "Data - >ID: " . $data->id;
echo "Data ID: " . $data[id];
echo "</pre>";
// Get the new album ID
$album_id = $result -> id;
You're getting JSON serialized object.
You need to deserialize it before use.
You could do it like this:
echo "Result: " . $result;
$result = json_decode($result);
After that you can access properties of the object:
echo "Result ID: " . $result->data[0]->id;
*Please note that data in your response string is an array which contains objects
Its JSON format. You can convert it to array/object with json_decode();
$json_data = json_decode($responce_string);
Read the manual for more information
Use json_decode on the response to deserialize the JSON string received.
Response from Graph API are JSON serialized.
Use json_decode to deserialize 'em
print_r(json_decode($result));
BTW, use Facebook PHP SDK and save yourself time and code ;)
Related
I am trying to access OpenStreetMap data using PHP, but I cannot find any clear answers on how to do so. The URL I am trying to pull data from works when I search it in the browser.
Here is the URL I am trying: https://nominatim.openstreetmap.org/search?q=jacksonville,florida&format=json
And this is how I am trying to access it in my PHP file, but it always returns nothing.
$search_url = "https://nominatim.openstreetmap.org/search?q=jacksonville,florida&format=json";
$json = file_get_contents($search_url);
print_r($json);
echo "json=" . $json;
$decoded = json_decode($json, true);
$lat = $decoded[0]["lat"];
$lng = $decoded[0]["lon"];
echo " latitude=".$lat . " -----" . "longitude=".$lng;
How can I fix this? My end goal is to simply get the latitude and longitude of a city, state.
I suspect that the api is refusing to serve a request without a valid User-Agent and http referrer header, try setting this and it should work, for example:
<?php
$search_url = "https://nominatim.openstreetmap.org/search?q=jacksonville,florida&format=json";
$httpOptions = [
"http" => [
"method" => "GET",
"header" => "User-Agent: Nominatim-Test"
]
];
$streamContext = stream_context_create($httpOptions);
$json = file_get_contents($search_url, false, $streamContext);
print_r($json);
echo "json=" . $json;
$decoded = json_decode($json, true);
$lat = $decoded[0]["lat"];
$lng = $decoded[0]["lon"];
echo " latitude=".$lat . " -----" . "longitude=".$lng;
I'm new to JSON Code. I want to learn about the update function. Currently, I successfully can update data to the database. Below is the code.
<?php
require_once "../config/configPDO.php";
$photo_after = 'kk haha';
$report_id = 1;
$url = "http://172.20.0.45/TGWebService/TGWebService.asmx/ot_maintainReport?taskname=&reportStatus=&photoBefore=&photoAfter=". urlencode($photo_after) . "&reportID=$report_id";
$data = file_get_contents($url);
$json = json_decode($data);
$query = $json->otReportList;
if($query){
echo "Data Save!";
}else{
echo "Error!! Not Saved";
}
?>
the problem is, if the value of $photo_after is base64 string, which is too large string, it will give the error:
1) PHP Warning: file_get_contents.....
2) PHP Notice: Trying to get property 'otReportList' of non-object in C:
BUT
when I change the code to this,
<?php
require_once "../config/configPDO.php";
$photo_after = 'mama kk';
$report_id = 1;
$sql = "UPDATE ot_report SET photo_after ='$photo_after', time_photo_after = GETDATE(), ot_end = '20:30:00' WHERE report_id = '$report_id'";
$query = $conn->prepare($sql);
$query->execute();
if($query){
echo "Data Save!";
}else{
echo "Error!! Not Saved";
}
?>
The data will updated including when the value of $photo_after is in base 64 string.
Can I know what is the problem? Any solution to allow the base64 string update thru json link?
Thanks
// ...
// It's likely that the following line failed
$data = file_get_contents($url);
// ...
If the length of $url is more than 2048 bytes, that could cause file_get_contents($url) to fail. See What is the maximum length of a URL in different browsers?.
Consequent to such failure, you end up with a value of $json which is not an object. Ultimately, the property otReportList would not exist in $json hence the error: ...trying to get property 'otReportList' of non-object in C....
To surmount the URL length limitation, it would be best to embed the value of $photo_after in the request body. As requests made with GET method should not have a body, using POST method would be appropriate.
Below is a conceptual adjustment of your code to send the data with a POST method:
<?php
require_once "../config/configPDO.php";
# You must adapt backend behind this URL to be able to service the
# POST request
$url = "http://172.20.0.45/TGWebService/TGWebService.asmx/ot_maintainReport";
$report_id = 1;
$photo_after = 'very-long-base64-encoding-of-an-image';
$request_content = <<<CONTENT
{
"taskname": $taskname,
"report_id": $report_id,
"photoBefore": $photoBefore,
"photo_after": $photo_after,
"reportStatus": $reportStatus
}
CONTENT;
$request_content_length = strlen($request_content);
# Depending on your server configuration, you may need to set
# $request_headers as an associative array instead of a string.
$request_headers = <<<HEADERS
Content-type: application/json
Content-Length: $request_content_length
HEADERS;
$request_options = array(
'http' => array(
'method' => "POST",
'header' => $request_headers,
'content' => $request_content
)
);
$request_context = stream_context_create($request_options);
$data = file_get_contents($url, false, $request_context);
# The request may fail for whatever reason, you should handle that case.
if (!$data) {
throw new Exception('Request failed, data is invalid');
}
$json = json_decode($data);
$query = $json->otReportList;
if ($query) {
echo "Data Save!";
} else {
echo "Error!! Not Saved";
}
?>
sending a long GET URL is not a good practice. You need to use POST method with cURL. And your webservice should receive the data using post method.
Here's example sending post using PHP:
//
// A very simple PHP example that sends a HTTP POST to a remote site
//
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,"http://www.example.com/tester.phtml");
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS,
"postvar1=value1&postvar2=value2&postvar3=value3");
// In real life you should use something like:
// curl_setopt($ch, CURLOPT_POSTFIELDS,
// http_build_query(array('postvar1' => 'value1')));
// Receive server response ...
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$server_output = curl_exec($ch);
curl_close ($ch);
// Further processing ...
if ($server_output == "OK") { ... } else { ... }
Sample code from: PHP + curl, HTTP POST sample code?
And all output from the webservice will put in the curl_exec() method and from there you can decode the replied json string.
This is my first time using web service. My PHP server get the json data from .net server where it is encoded to base64.
The problem now is, i failed to read each attribute inside the data:
Array ( [JSONDataResult] => {"file":"iVBORw0KGgoAAAANSUhEUgAAALUAAAEZCAYAAADR+mSIAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAABhuSURBVHhe7ZiBcuM4smz3\/3\/6PkrPjCgfppBMFWB53DgRx2whs4raMWJ7dv938H8\/KVGdjkR1qrNx+13ehftTU9w889V+vVOHqySq05GoTnU2br\/Lu3B\/aoqbZ77ar3fqcJVEdToS1anOxu13eRfuT01x88xX+\/VOHa6SqE5HojrV2bj9Lu\/C\/akpbp75ar\/eeT2cids\/O6cp6Xzad6zeR1PS+bSfovYfz+vhTNz+2TlNSefTvmP1PpqSzqf9FLX\/eF4PZ+L2z85pSjqf9h2r99GUdD7tp6j9x\/N6OBO3f3ZOU9L5tO9YvY+mpPNpP0XtP57XwwpzJ3E5Wd0n6fyn+93c4eZdTlyfuZOo\/HheDyvMncTlZHWfpPOf7ndzh5t3OXF95k6i8uN5PawwdxKXk9V9ks5\/ut\/NHW7e5cT1mTuJyo\/n9bDC3ElcTlb3STr\/6X43d7h5lxPXZ+4kKj+e18MKcydJc0pUZyRRnSr56ZwSl5O07+A+StLcSVR+PK+HFeZOkuaUqM5IojpV8tM5JS4nad\/BfZSkuZOo\/HheDyvMnSTNKVGdkUR1quSnc0pcTtK+g\/soSXMnUfnxvB5WmDtJmlOiOiOJ6lTJT+eUuJykfQf3UZLmTqLy43k9rDB3EpcT1\/90TtjvSlyewn2UqM5IkuZOovLjeT2sMHcSlxPX\/3RO2O9KXJ7CfZSozkiS5k6i8uN5PawwdxKXE9f\/dE7Y70pcnsJ9lKjOSJLmTqLy43k9rDB3EpcT1\/90TtjvSlyewn2UqM5IkuZOovLjeT2cSbqffZqidqw0ZfU8c7qa1e9T+4\/n9XAm6X72aYrasdKU1fPM6WpWv0\/tP57Xw5mk+9mnKWrHSlNWzzOnq1n9PrX\/eF4PZ5LuZ5+mqB0rTVk9z5yuZvX71P7j+f1wtWTn\/1a+2q936nCVZOf\/Vr7ar3fqcJVk5\/9Wvtqvd+pwlWTn\/1a+2uc7nz8\/iPpSldk5JapTJS53uPk0p6v56ffd4ePfwv1DmZ1TojpV4nKHm09zupqfft8dPv4t3D+U2TklqlMlLne4+TSnq\/np993h49\/C\/UOZnVOiOlXicoebT3O6mp9+3x2O7zH+UswpUZ2RDjVTJWn+23X8tj5J512fOf3qXA8rzClRnZEONVMlaf7bdfy2PknnXZ85\/epcDyvMKVGdkQ41UyVp\/tt1\/LY+Seddnzn96lwPK8wpUZ2RDjVTJWn+23X8tj5J512fOX12nj8D1JLK7NzZxe1zeQr3OYnLyew+cydRnSp5J7+2DGpJZXbu7OL2uTyF+5zE5WR2n7mTqE6VvJNfWwa1pDI7d3Zx+1yewn1O4nIyu8\/cSVSnSt7Jry2DWlKZnTu7uH0uT+E+J3E5md1n7iSqUyXv5Mfz+2Gqw\/WZOx1qpiNRnSpRnSpRnapDzVRJmtPZqHckfu3Q4V0drs\/c6VAzHYnqVInqVInqVB1qpkrSnM5GvSPxa4cO7+pwfeZOh5rpSFSnSlSnSlSn6lAzVZLmdDbqHYlfO3R4V4frM3c61ExHojpVojpVojpVh5qpkjSns1HvSHzueP6ciHpJxeWO2fPU0e1T4nLCflfi8i7pfvbps\/P8ORH1korLHbPnqaPbp8TlhP2uxOVd0v3s02fn+XMi6iUVlztmz1NHt0+Jywn7XYnLu6T72afPzvPnRNRLKi53zJ6njm6fEpcT9rsSl3dJ97NPn53nz4IqjXD9bp7CfalEdaoO11+dE9d3eYrbx5wS1ak+O8+fBVUa4frdPIX7UonqVB2uvzonru\/yFLePOSWqU312nj8LqjTC9bt5CvelEtWpOlx\/dU5c3+Upbh9zSlSn+uw8fxZUaYTrd\/MU7kslqlN1uP7qnLi+y1PcPuaUqE712Xn+nIh6SYW5MyWdZ99JVGck+ek8lbicuD5z6lB9PxWiXlJh7kxJ59l3EtUZSX46TyUuJ67PnDpU30+FqJdUmDtT0nn2nUR1RpKfzlOJy4nrM6cO1fdTIeolFebOlHSefSdRnZHkp\/NU4nLi+sypQ\/WP5\/fD1aaoHSOJy7v89H6a4uaZU4eaGdlF7Tue3w9Xm6J2jCQu7\/LT+2mKm2dOHWpmZBe173h+P1xtitoxkri8y0\/vpylunjl1qJmRXdS+4\/n9cLUpasdI4vIuP72fprh55tShZkZ2UfsuW1miRHWqKWpH1ZH2Hd19nHemqB0jieqMJC53uPl38kuLJUpUp5qidlQdad\/R3cd5Z4raMZKozkjicoebfye\/tFiiRHWqKWpH1ZH2Hd19nHemqB0jieqMJC53uPl38kuLJUpUp5qidlQdad\/R3cd5Z4raMZKozkjicoebfyfPv4WBL+lKXE7SvoP76KdR3ynRoWaqxOUOzlPF9N+CenFH4nKS9h3cRz+N+k6JDjVTJS53cJ4qpv8W1Is7EpeTtO\/gPvpp1HdKdKiZKnG5g\/NUMf23oF7ckbicpH0H99FPo75TokPNVInLHZyniuN8XHI5Sftd+L7UFLWjSlQn0aFmqkR1Eh2r+3c49oyXupyk\/S58X2qK2lElqpPoUDNVojqJjtX9Oxx7xktdTtJ+F74vNUXtqBLVSXSomSpRnUTH6v4djj3jpS4nab8L35eaonZUieokOtRMlahOomN1\/w6XLXwJJd3cwXlKVGckcTlhnzrUTGKK2jGSpLmTqM5IxeVUDVZJN3dwnhLVGUlcTtinDjWTmKJ2jCRp7iSqM1JxOVWDVdLNHZynRHVGEpcT9qlDzSSmqB0jSZo7ieqMVFxO1WCVdHMH5ylRnZHE5YR96lAziSlqx0iS5k6iOiMVl9M7QyPcfJrTLmpnInF5Srov7ZN0nn1KVCfRofqXKVVKcPNpTruonYnE5SnpvrRP0nn2KVGdRIfqX6ZUKcHNpzntonYmEpenpPvSPknn2adEdRIdqn+ZUqUEN5\/mtIvamUhcnpLuS\/sknWefEtVJdKh+\/k8BcOmnJapTJapTJaqzUqI6VYea+U2+w3tTBfVFPilRnSpRnSpRnZUS1ak61Mxv8h3emyqoL\/JJiepUiepUieqslKhO1aFmfpPv8N5UQX2RT0pUp0pUp0pUZ6VEdaoONfObfIfLlFpcJS53zJ6nDtfv5g7Opzpcnzl1pH3CeUpUp\/rsPH8WVLFKXO6YPU8drt\/NHZxPdbg+c+pI+4TzlKhO9dl5\/iyoYpW43DF7njpcv5s7OJ\/qcH3m1JH2CecpUZ3qs\/P8WVDFKnG5Y\/Y8dbh+N3dwPtXh+sypI+0TzlOiOtWvzvWwwtxJ0jw1Re0Y6XD91Tlh30nSnJJP5Mfzelhh7iRpnpqidox0uP7qnLDvJGlOySfy4\/n\/P5wS5k6S5qkpasdIh+uvzgn7TpLmlHwiP57XwwpzJ0nz1BS1Y6TD9VfnhH0nSXNKPpEfz++H1JH2iZtnTlPcfJrTlO58Ct9HSTd3cJ6+wzGnl5060j5x88xpiptPc5rSnU\/h+yjp5g7O03c45vSyU0faJ26eOU1x82lOU7rzKXwfJd3cwXn6DsecXnbqSPvEzTOnKW4+zWlKdz6F76Okmzs4T9\/hmNPLTh1qZqYpakc1xc0z7+r4dJ\/5at\/hmNPLTh1qZqYpakc1xc0z7+r4dJ\/5at\/hmNPLTh1qZqYpakc1xc0z7+r4dJ\/5at\/hmNPLTh1qZqYpakc1xc0z7+r4dJ\/5at\/BTs14SeXT+9inDjVTJaozkricdPuUpDl1zOjbKTXU4dP72KcONVMlqjOSuJx0+5SkOXXM6NspNdTh0\/vYpw41UyWqM5K4nHT7lKQ5dczo2yk11OHT+9inDjVTJaozkricdPuUpDl1zOgfz++HqQ41M1OiOlXictLtO8nsnDpm95mn3uHo6eG7OtTMTInqVInLSbfvJLNz6pjdZ556h6Onh+\/qUDMzJapTJS4n3b6TzM6pY3afeeodjp4evqtDzcyUqE6VuJx0+04yO6eO2X3mqXc4enr4rqSbE\/adRHWqn2b193H7mVOiOiO7uH0qP57fD1NJNyfsO4nqVD\/N6u\/j9jOnRHVGdnH7VH48vx+mkm5O2HcS1al+mtXfx+1nTonqjOzi9qn8eH4\/TCXdnLDvJKpT\/TSrv4\/bz5wS1RnZxe1TuX2rGkrgPCWqU3WomZEO13c5Wd13cB91qJmRDtd3ucK23lla4TwlqlN1qJmRDtd3OVndd3AfdaiZkQ7Xd7nCtt5ZWuE8JapTdaiZkQ7XdzlZ3XdwH3WomZEO13e5wrbeWVrhPCWqU3WomZEO13c5Wd13cB91qJmRDtd3ueLojYeYU5LmqUR1qilqR0cyO6dd1M5qitoxkrhccfTGQ8wpSfNUojrVFLWjI5md0y5qZzVF7RhJXK44euMh5pSkeSpRnWqK2tGRzM5pF7WzmqJ2jCQuVxy98RBzStI8lahONUXt6Ehm57SL2llNUTtGEpcrjl425PrMnSTNU7us3pdKVGemRHWqKWpH9Q5HLxtyfeZOkuapXVbvSyWqM1OiOtUUtaN6h6OXDbk+cydJ89Quq\/elEtWZKVGdaoraUb3D0cuGXJ+5k6R5apfV+1KJ6syUqE41Re2o3uHo6eF3dXT7lLicsJ9KVKdKPp07uvPE7Utz+tXR4bs6un1KXE7YTyWqUyWfzh3deeL2pTn96ujwXR3dPiUuJ+ynEtWpkk\/nju48cfvSnH51dPiujm6fEpcT9lOJ6lTJp3NHd564fWlOvzrXwxHsdyXdnLBPu7h9P507HWqm6nB95l0Vx7kvVdjvSro5YZ92cft+Onc61EzV4frMuyqOc1+qsN+VdHPCPu3i9v107nSomarD9Zl3VRznvlRhvyvp5oR92sXt++nc6VAzVYfrM++quJy6IebOFLVj5GzUO0Y61Ew1JZ1nn3ZJ97l+N39wOXVDzJ0pasfI2ah3jHSomWpKOs8+7ZLuc\/1u\/uBy6oaYO1PUjpGzUe8Y6VAz1ZR0nn3aJd3n+t38weXUDTF3pqgdI2ej3jHSoWaqKek8+7RLus\/1u\/mD9n8q9xKXr4bvp0R1qsTlDs7TFLWjI3E5YZ8S1Ul87nj+bKCWVly+Gr6fEtWpEpc7OE9T1I6OxOWEfUpUJ\/G54\/mzgVpacflq+H5KVKdKXO7gPE1ROzoSlxP2KVGdxOeO588GamnF5avh+ylRnSpxuYPzNEXt6EhcTtinRHUSnzuePwuqmJiSzrOfmqJ2VInqVB1pfzbu\/cxTieokKi6najAxJZ1nPzVF7agS1ak60v5s3PuZpxLVSVRcTtVgYko6z35qitpRJapTdaT92bj3M08lqpOouJyqwcSUdJ791BS1o0pUp+pI+7Nx72eeSlQnUXGc+1KFfUpUJ5G4nMzuM18tcTnp9ilRnY7knfx4Xg9HsE+J6iQSl5PZfearJS4n3T4lqtORvJMfz+vhCPYpUZ1E4nIyu898tcTlpNunRHU6knfy43k9HME+JaqTSFxOZveZr5a4nHT7lKhOR\/JO7v9TLkZ9qZlwv5OozsgUN+9y4vrMU4nLHen8nX7+LSZz50t24H4nUZ2RKW7e5cT1macSlzvS+Tv9\/FtM5s6X7MD9TqI6I1PcvMuJ6zNPJS53pPN3+vm3mMydL9mB+51EdUamuHmXE9dnnkpc7kjn7\/SP8++l1RKXp3BfKvl07nDzzKlDzYwk3Zzc6R\/n30urJS5P4b5U8unc4eaZU4eaGUm6ObnTP86\/l1ZLXJ7Cfank07nDzTOnDjUzknRzcqd\/nH8vrZa4PIX7Usmnc4ebZ04damYk6ebkTv8496UObj9z6nD9NHcSlzs4T4nqVMns3Jmidoy8w9HLhxLcfubU4fpp7iQud3CeEtWpktm5M0XtGHmHo5cPJbj9zKnD9dPcSVzu4DwlqlMls3Nnitox8g5HLx9KcPuZU4frp7mTuNzBeUpUp0pm584UtWPkHY7eeIi5k7icsO8kqjOSqE6VqE5H4nKyuk84v1qi8uN5PawwdxKXE\/adRHVGEtWpEtXpSFxOVvcJ51dLVH48r4cV5k7icsK+k6jOSKI6VaI6HYnLyeo+4fxqicqP5\/WwwtxJXE7YdxLVGUlUp0pUpyNxOVndJ5xfLVH58bweVpg7STd3uPnZOXX8tj7hvNPh+t38DsfceAlzJ+nmDjc\/O6eO39YnnHc6XL+b3+GYGy9h7iTd3OHmZ+fU8dv6hPNOh+t38zscc+MlzJ2kmzvc\/OycOn5bn3De6XD9bn6HY268hLmTzM6dXdTOahe1s+Ns1DtGkm5O2KeK43xcYu4ks3NnF7Wz2kXt7Dgb9Y6RpJsT9qniOB+XmDvJ7NzZRe2sdlE7O85GvWMk6eaEfao4zscl5k4yO3d2UTurXdTOjrNR7xhJujlhnyqOc1\/qMHt\/d186n\/ZT3H6XO9J59lOJ6lSJy4nqH8\/r4Uxm7+\/uS+fTforb73JHOs9+KlGdKnE5Uf3jeT2cyez93X3pfNpPcftd7kjn2U8lqlMlLieqfzyvhzOZvb+7L51P+yluv8sd6Tz7qUR1qsTlRPWP5\/fD1RLVqRLVSeyS7kv7jnTf7D5zSlxO2Kd3OHp6eJVEdapEdRK7pPvSviPdN7vPnBKXE\/bpHY6eHl4lUZ0qUZ3ELum+tO9I983uM6fE5YR9eoejp4dXSVSnSlQnsUu6L+070n2z+8wpcTlhn97hXmuz+Q9xXP7NZrPZbDabzWbzH2PFv8jv\/3Gwecn5f51U7l6Y2b2EFTs3f4TH5eAFmX1ZV1zAFTs3f4TzctRLwgvz+Hx6Us\/UeaX2mD14J6uf1dzmH+a8EK8uCS\/MO9mMHQ9Uxs5mYy8KL43Lqieqd9LJmG82T9QlUmcnd7PKuzvuZOxsNvLiqMtzcjervLvjTsbOZiMvzqsznj\/guerWs3p+8k5WP6u5zWaz2Ww2v5b9V\/fmz7Ev9ebP8epSP86ZnZ9V9uA8rxl76jNnNpsW6jLVM\/55lFXOz6\/OH4yyzeZt1EV6nFVP2E2zUecBP282b6Eu0qvLNbqEd7JR5wE\/bzZvoS7Sq8s1uoSj7IHaeaez2cQ8LlL15NVZRX3mzIk6ezCa2Ww2m81m8+eof\/W\/+leAV+cP3Myruc1mOaPLN7qcKnOfN5sfYXRp67PyKht9fvy5utks49UFO89V\/iobfXbdzWYa6nLdvYyj7EHS3WymoS7X44yeuKxyN9tspuIu1yh3F7V+dt3NZhruco1ylT3OTiv1nNlm859kX+TNn2Nf6s2PMfrXgTNT+Sh7oLI6o\/IHo2yzsZwX59XlqtTPo+zkcXanV3H5ZnObO5dp1Hl1eV+dK0bZZhNz50KpC3pKzrPRTJJtNjHuEiX5qz8rRl03u9kMGV2gO5eLl5O+ombsjeY2G8urC3T3\/N1e\/Xx352Yz5HFx6Mkoe\/DqvKKy0dwo22w2m82n2f\/tvJlC\/ev+05dqX+rNFHiRPnmx9qXeTMFd6sfn08r5uWavelUyytXZZmNRF+nEZa+6nKuMeu\/s22wuPC5MtTL6nGbVE9U7qX32NpshowvDrH6+m83YsdlEjC5PculeZTN2bDYR7vI88tPK6LPKqpW72Waz2Ww2mz\/F6K\/5O5niztwoU7w7t\/nH4EWon+9k7Dy4M3eiMnYevDu32cjLcqIuzZ2z1TtP1Nlm8+1ivHuRRnMrdp6os80\/jrs4yUV6nFdP2OfnB3fO7s5t\/mFWXqTaeXfnu3Obf5RXl2HGRXI77u58d27zD\/K4CLRy55y5Oqu8yuu5yyv1XOWbzWaz2Wx+Feqv6vOs\/nV+evLq\/ORTmWKUbf4gry5IJe18KmPnwSjb\/FFGF+Ek7fx0dqLOTkbZ5o\/x+GUrK\/z8YNT56exEnZ2Mss0f487leNWpklH+KlO9k1F2os5ORtnmj3HncqQXiIy6NRu9d5SdqLOTUbb5Y9y5HOkFqox67j31s+s+UGcno2zzx7hzOd65QKdklD0Y5a+yes58lG02m81ms\/kI6q\/jevYq33+Nb34t6aUeZZvNr6BzqTebX8njkipP6p9P1Nlm82twl\/bVBd4Xe\/NrefdSP9gXe\/MrSS\/1KNtsfgXppX7wONsXerPZbDabTYPRv06cmcpH2QOV1RmVP1BZPWP24NX5g3ezzX+U85f56hdeqZ9H2cnj7E6v4vKT2hu9491s8we48wsddV5dkFfnilFWcTvr53ezzR\/gzi9UXYJTcp6NZpKsorJXc6PPrrv5j+N+oUn+6s+KUVfN3jlTn6snqrf5Q4x+oXd+2bws9BU1Y0\/N3TlTnZOaJXOb\/yCvfqF3z9\/t1c9JtzKr92pu8x\/j8YukJ6PswavzispGcy57xau5V+cnLt9sNpvNZrPZbDabzWaz2Ww2m81M\/ve\/\/wclQxXDBQHQjQAAAABJRU5ErkJggg==","fileSize":"8484","returnCode":"0"} )
There are 3 columns:
file
fileSize
returnCode
I have tried to get data using Object, Array or json but always failed.
//$json = json_decode($data, true); //array
//$json = json_decode($data); //object
//echo $result; //JSONDataResult
Below is one of the FAILED method. The full process coding:
<?php
if (isset($_GET['submit'])) {
$project_code = $_GET['project_code'];
$url = "http://1.2.3.4/to/file/process";
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_BINARYTRANSFER, 1);
curl_setopt($curl, curlopt_httpheader, array ("Content-type:application/json"));
$result = curl_exec($curl);
curl_close($curl);
$data = file_get_contents($url);
$json = json_decode($data, true); //array
//$json = json_decode($data); //object
//echo $result; //JSONDataResult
//print_r($json);
foreach ($json as $key => $value) {
if (!is_array($value)) {
//always goes here
echo "not array: ".$key . '=>' . $value . '<br/>';
} else {
foreach ($value as $key => $val) {
echo "is array: ".$key . '=>' . $val . '<br/>';
}
}
}
}
?>
Guys help me to read the content. I do not mind using which method as long as i can read each column inside the content. Many-many thank you.
[jangankecamsaya]
Assuming the data you posted in the question is the output of print_r($json);, it is clear that $json is an array that contains only one value (the big JSON) associated to the key JSONDataResult. It basically looks like this:
$json = array('JSONDataResult' => '{"file":"iVBORw0KGgoAAAANSUhEUgAAALUAAAEZCAYAAADR+mSIAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAABhuSURBVHhe7ZiBcuM4smz3\/3\/6PkrPjCgfppBMFWB53DgRx2whs4raMWJ7dv938H8\/KVGdjkR1qrNx+13ehftTU9w889V+vVOHqySq05GoTnU2br\/Lu3B\/aoqbZ77ar3fqcJVEdToS1anOxu13eRfuT01x88xX+\/VOHa6SqE5HojrV2bj9Lu\/C\/akpbp75ar\/eeT2cids\/O6cp6Xzad6zeR1PS+bSfovYfz+vhTNz+2TlNSefTvmP1PpqSzqf9FLX\/eF4PZ+L2z85pSjqf9h2r99GUdD7tp6j9x\/N6OBO3f3ZOU9L5tO9YvY+mpPNpP0XtP57XwwpzJ3E5Wd0n6fyn+93c4eZdTlyfuZOo\/HheDyvMncTlZHWfpPOf7ndzh5t3OXF95k6i8uN5PawwdxKXk9V9ks5\/ut\/NHW7e5cT1mTuJyo\/n9bDC3ElcTlb3STr\/6X43d7h5lxPXZ+4kKj+e18MKcydJc0pUZyRRnSr56ZwSl5O07+A+StLcSVR+PK+HFeZOkuaUqM5IojpV8tM5JS4nad\/BfZSkuZOo\/HheDyvMnSTNKVGdkUR1quSnc0pcTtK+g\/soSXMnUfnxvB5WmDtJmlOiOiOJ6lTJT+eUuJykfQf3UZLmTqLy43k9rDB3EpcT1\/90TtjvSlyewn2UqM5IkuZOovLjeT2sMHcSlxPX\/3RO2O9KXJ7CfZSozkiS5k6i8uN5PawwdxKXE9f\/dE7Y70pcnsJ9lKjOSJLmTqLy43k9rDB3EpcT1\/90TtjvSlyewn2UqM5IkuZOovLjeT2cSbqffZqidqw0ZfU8c7qa1e9T+4\/n9XAm6X72aYrasdKU1fPM6WpWv0\/tP57Xw5mk+9mnKWrHSlNWzzOnq1n9PrX\/eF4PZ5LuZ5+mqB0rTVk9z5yuZvX71P7j+f1wtWTn\/1a+2q936nCVZOf\/Vr7ar3fqcJVk5\/9Wvtqvd+pwlWTn\/1a+2uc7nz8\/iPpSldk5JapTJS53uPk0p6v56ffd4ePfwv1DmZ1TojpV4nKHm09zupqfft8dPv4t3D+U2TklqlMlLne4+TSnq\/np993h49\/C\/UOZnVOiOlXicoebT3O6mp9+3x2O7zH+UswpUZ2RDjVTJWn+23X8tj5J512fOf3qXA8rzClRnZEONVMlaf7bdfy2PknnXZ85\/epcDyvMKVGdkQ41UyVp\/tt1\/LY+Seddnzn96lwPK8wpUZ2RDjVTJWn+23X8tj5J512fOX12nj8D1JLK7NzZxe1zeQr3OYnLyew+cydRnSp5J7+2DGpJZXbu7OL2uTyF+5zE5WR2n7mTqE6VvJNfWwa1pDI7d3Zx+1yewn1O4nIyu8\/cSVSnSt7Jry2DWlKZnTu7uH0uT+E+J3E5md1n7iSqUyXv5Mfz+2Gqw\/WZOx1qpiNRnSpRnSpRnapDzVRJmtPZqHckfu3Q4V0drs\/c6VAzHYnqVInqVInqVB1qpkrSnM5GvSPxa4cO7+pwfeZOh5rpSFSnSlSnSlSn6lAzVZLmdDbqHYlfO3R4V4frM3c61ExHojpVojpVojpVh5qpkjSns1HvSHzueP6ciHpJxeWO2fPU0e1T4nLCflfi8i7pfvbps\/P8ORH1korLHbPnqaPbp8TlhP2uxOVd0v3s02fn+XMi6iUVlztmz1NHt0+Jywn7XYnLu6T72afPzvPnRNRLKi53zJ6njm6fEpcT9rsSl3dJ97NPn53nz4IqjXD9bp7CfalEdaoO11+dE9d3eYrbx5wS1ak+O8+fBVUa4frdPIX7UonqVB2uvzonru\/yFLePOSWqU312nj8LqjTC9bt5CvelEtWpOlx\/dU5c3+Upbh9zSlSn+uw8fxZUaYTrd\/MU7kslqlN1uP7qnLi+y1PcPuaUqE712Xn+nIh6SYW5MyWdZ99JVGck+ek8lbicuD5z6lB9PxWiXlJh7kxJ59l3EtUZSX46TyUuJ67PnDpU30+FqJdUmDtT0nn2nUR1RpKfzlOJy4nrM6cO1fdTIeolFebOlHSefSdRnZHkp\/NU4nLi+sypQ\/WP5\/fD1aaoHSOJy7v89H6a4uaZU4eaGdlF7Tue3w9Xm6J2jCQu7\/LT+2mKm2dOHWpmZBe173h+P1xtitoxkri8y0\/vpylunjl1qJmRXdS+4\/n9cLUpasdI4vIuP72fprh55tShZkZ2UfsuW1miRHWqKWpH1ZH2Hd19nHemqB0jieqMJC53uPl38kuLJUpUp5qidlQdad\/R3cd5Z4raMZKozkjicoebfye\/tFiiRHWqKWpH1ZH2Hd19nHemqB0jieqMJC53uPl38kuLJUpUp5qidlQdad\/R3cd5Z4raMZKozkjicoebfyfPv4WBL+lKXE7SvoP76KdR3ynRoWaqxOUOzlPF9N+CenFH4nKS9h3cRz+N+k6JDjVTJS53cJ4qpv8W1Is7EpeTtO\/gPvpp1HdKdKiZKnG5g\/NUMf23oF7ckbicpH0H99FPo75TokPNVInLHZyniuN8XHI5Sftd+L7UFLWjSlQn0aFmqkR1Eh2r+3c49oyXupyk\/S58X2qK2lElqpPoUDNVojqJjtX9Oxx7xktdTtJ+F74vNUXtqBLVSXSomSpRnUTH6v4djj3jpS4nab8L35eaonZUieokOtRMlahOomN1\/w6XLXwJJd3cwXlKVGckcTlhnzrUTGKK2jGSpLmTqM5IxeVUDVZJN3dwnhLVGUlcTtinDjWTmKJ2jCRp7iSqM1JxOVWDVdLNHZynRHVGEpcT9qlDzSSmqB0jSZo7ieqMVFxO1WCVdHMH5ylRnZHE5YR96lAziSlqx0iS5k6iOiMVl9M7QyPcfJrTLmpnInF5Srov7ZN0nn1KVCfRofqXKVVKcPNpTruonYnE5SnpvrRP0nn2KVGdRIfqX6ZUKcHNpzntonYmEpenpPvSPknn2adEdRIdqn+ZUqUEN5\/mtIvamUhcnpLuS\/sknWefEtVJdKh+\/k8BcOmnJapTJapTJaqzUqI6VYea+U2+w3tTBfVFPilRnSpRnSpRnZUS1ak61Mxv8h3emyqoL\/JJiepUiepUieqslKhO1aFmfpPv8N5UQX2RT0pUp0pUp0pUZ6VEdaoONfObfIfLlFpcJS53zJ6nDtfv5g7Opzpcnzl1pH3CeUpUp\/rsPH8WVLFKXO6YPU8drt\/NHZxPdbg+c+pI+4TzlKhO9dl5\/iyoYpW43DF7njpcv5s7OJ\/qcH3m1JH2CecpUZ3qs\/P8WVDFKnG5Y\/Y8dbh+N3dwPtXh+sypI+0TzlOiOtWvzvWwwtxJ0jw1Re0Y6XD91Tlh30nSnJJP5Mfzelhh7iRpnpqidox0uP7qnLDvJGlOySfy4\/n\/P5wS5k6S5qkpasdIh+uvzgn7TpLmlHwiP57XwwpzJ0nz1BS1Y6TD9VfnhH0nSXNKPpEfz++H1JH2iZtnTlPcfJrTlO58Ct9HSTd3cJ6+wzGnl5060j5x88xpiptPc5rSnU\/h+yjp5g7O03c45vSyU0faJ26eOU1x82lOU7rzKXwfJd3cwXn6DsecXnbqSPvEzTOnKW4+zWlKdz6F76Okmzs4T9\/hmNPLTh1qZqYpakc1xc0z7+r4dJ\/5at\/hmNPLTh1qZqYpakc1xc0z7+r4dJ\/5at\/hmNPLTh1qZqYpakc1xc0z7+r4dJ\/5at\/hmNPLTh1qZqYpakc1xc0z7+r4dJ\/5at\/BTs14SeXT+9inDjVTJaozkricdPuUpDl1zOjbKTXU4dP72KcONVMlqjOSuJx0+5SkOXXM6NspNdTh0\/vYpw41UyWqM5K4nHT7lKQ5dczo2yk11OHT+9inDjVTJaozkricdPuUpDl1zOgfz++HqQ41M1OiOlXictLtO8nsnDpm95mn3uHo6eG7OtTMTInqVInLSbfvJLNz6pjdZ556h6Onh+\/qUDMzJapTJS4n3b6TzM6pY3afeeodjp4evqtDzcyUqE6VuJx0+04yO6eO2X3mqXc4enr4rqSbE\/adRHWqn2b193H7mVOiOiO7uH0qP57fD1NJNyfsO4nqVD\/N6u\/j9jOnRHVGdnH7VH48vx+mkm5O2HcS1al+mtXfx+1nTonqjOzi9qn8eH4\/TCXdnLDvJKpT\/TSrv4\/bz5wS1RnZxe1TuX2rGkrgPCWqU3WomZEO13c5Wd13cB91qJmRDtd3ucK23lla4TwlqlN1qJmRDtd3OVndd3AfdaiZkQ7Xd7nCtt5ZWuE8JapTdaiZkQ7XdzlZ3XdwH3WomZEO13e5wrbeWVrhPCWqU3WomZEO13c5Wd13cB91qJmRDtd3ueLojYeYU5LmqUR1qilqR0cyO6dd1M5qitoxkrhccfTGQ8wpSfNUojrVFLWjI5md0y5qZzVF7RhJXK44euMh5pSkeSpRnWqK2tGRzM5pF7WzmqJ2jCQuVxy98RBzStI8lahONUXt6Ehm57SL2llNUTtGEpcrjl425PrMnSTNU7us3pdKVGemRHWqKWpH9Q5HLxtyfeZOkuapXVbvSyWqM1OiOtUUtaN6h6OXDbk+cydJ89Quq\/elEtWZKVGdaoraUb3D0cuGXJ+5k6R5apfV+1KJ6syUqE41Re2o3uHo6eF3dXT7lLicsJ9KVKdKPp07uvPE7Utz+tXR4bs6un1KXE7YTyWqUyWfzh3deeL2pTn96ujwXR3dPiUuJ+ynEtWpkk\/nju48cfvSnH51dPiujm6fEpcT9lOJ6lTJp3NHd564fWlOvzrXwxHsdyXdnLBPu7h9P507HWqm6nB95l0Vx7kvVdjvSro5YZ92cft+Onc61EzV4frMuyqOc1+qsN+VdHPCPu3i9v107nSomarD9Zl3VRznvlRhvyvp5oR92sXt++nc6VAzVYfrM++quJy6IebOFLVj5GzUO0Y61Ew1JZ1nn3ZJ97l+N39wOXVDzJ0pasfI2ah3jHSomWpKOs8+7ZLuc\/1u\/uBy6oaYO1PUjpGzUe8Y6VAz1ZR0nn3aJd3n+t38weXUDTF3pqgdI2ej3jHSoWaqKek8+7RLus\/1u\/mD9n8q9xKXr4bvp0R1qsTlDs7TFLWjI3E5YZ8S1Ul87nj+bKCWVly+Gr6fEtWpEpc7OE9T1I6OxOWEfUpUJ\/G54\/mzgVpacflq+H5KVKdKXO7gPE1ROzoSlxP2KVGdxOeO588GamnF5avh+ylRnSpxuYPzNEXt6EhcTtinRHUSnzuePwuqmJiSzrOfmqJ2VInqVB1pfzbu\/cxTieokKi6najAxJZ1nPzVF7agS1ak60v5s3PuZpxLVSVRcTtVgYko6z35qitpRJapTdaT92bj3M08lqpOouJyqwcSUdJ791BS1o0pUp+pI+7Nx72eeSlQnUXGc+1KFfUpUJ5G4nMzuM18tcTnp9ilRnY7knfx4Xg9HsE+J6iQSl5PZfearJS4n3T4lqtORvJMfz+vhCPYpUZ1E4nIyu898tcTlpNunRHU6knfy43k9HME+JaqTSFxOZveZr5a4nHT7lKhOR\/JO7v9TLkZ9qZlwv5OozsgUN+9y4vrMU4nLHen8nX7+LSZz50t24H4nUZ2RKW7e5cT1macSlzvS+Tv9\/FtM5s6X7MD9TqI6I1PcvMuJ6zNPJS53pPN3+vm3mMydL9mB+51EdUamuHmXE9dnnkpc7kjn7\/SP8++l1RKXp3BfKvl07nDzzKlDzYwk3Zzc6R\/n30urJS5P4b5U8unc4eaZU4eaGUm6ObnTP86\/l1ZLXJ7Cfank07nDzTOnDjUzknRzcqd\/nH8vrZa4PIX7Usmnc4ebZ04damYk6ebkTv8496UObj9z6nD9NHcSlzs4T4nqVMns3Jmidoy8w9HLhxLcfubU4fpp7iQud3CeEtWpktm5M0XtGHmHo5cPJbj9zKnD9dPcSVzu4DwlqlMls3Nnitox8g5HLx9KcPuZU4frp7mTuNzBeUpUp0pm584UtWPkHY7eeIi5k7icsO8kqjOSqE6VqE5H4nKyuk84v1qi8uN5PawwdxKXE\/adRHVGEtWpEtXpSFxOVvcJ51dLVH48r4cV5k7icsK+k6jOSKI6VaI6HYnLyeo+4fxqicqP5\/WwwtxJXE7YdxLVGUlUp0pUpyNxOVndJ5xfLVH58bweVpg7STd3uPnZOXX8tj7hvNPh+t38DsfceAlzJ+nmDjc\/O6eO39YnnHc6XL+b3+GYGy9h7iTd3OHmZ+fU8dv6hPNOh+t38zscc+MlzJ2kmzvc\/OycOn5bn3De6XD9bn6HY268hLmTzM6dXdTOahe1s+Ns1DtGkm5O2KeK43xcYu4ks3NnF7Wz2kXt7Dgb9Y6RpJsT9qniOB+XmDvJ7NzZRe2sdlE7O85GvWMk6eaEfao4zscl5k4yO3d2UTurXdTOjrNR7xhJujlhnyqOc1\/qMHt\/d186n\/ZT3H6XO9J59lOJ6lSJy4nqH8\/r4Uxm7+\/uS+fTforb73JHOs9+KlGdKnE5Uf3jeT2cyez93X3pfNpPcftd7kjn2U8lqlMlLieqfzyvhzOZvb+7L51P+yluv8sd6Tz7qUR1qsTlRPWP5\/fD1RLVqRLVSeyS7kv7jnTf7D5zSlxO2Kd3OHp6eJVEdapEdRK7pPvSviPdN7vPnBKXE\/bpHY6eHl4lUZ0qUZ3ELum+tO9I983uM6fE5YR9eoejp4dXSVSnSlQnsUu6L+070n2z+8wpcTlhn97hXmuz+Q9xXP7NZrPZbDabzWbzH2PFv8jv\/3Gwecn5f51U7l6Y2b2EFTs3f4TH5eAFmX1ZV1zAFTs3f4TzctRLwgvz+Hx6Us\/UeaX2mD14J6uf1dzmH+a8EK8uCS\/MO9mMHQ9Uxs5mYy8KL43Lqieqd9LJmG82T9QlUmcnd7PKuzvuZOxsNvLiqMtzcjervLvjTsbOZiMvzqsznj\/guerWs3p+8k5WP6u5zWaz2Ww2v5b9V\/fmz7Ev9ebP8epSP86ZnZ9V9uA8rxl76jNnNpsW6jLVM\/55lFXOz6\/OH4yyzeZt1EV6nFVP2E2zUecBP282b6Eu0qvLNbqEd7JR5wE\/bzZvoS7Sq8s1uoSj7IHaeaez2cQ8LlL15NVZRX3mzIk6ezCa2Ww2m81m8+eof\/W\/+leAV+cP3Myruc1mOaPLN7qcKnOfN5sfYXRp67PyKht9fvy5utks49UFO89V\/iobfXbdzWYa6nLdvYyj7EHS3WymoS7X44yeuKxyN9tspuIu1yh3F7V+dt3NZhruco1ylT3OTiv1nNlm859kX+TNn2Nf6s2PMfrXgTNT+Sh7oLI6o\/IHo2yzsZwX59XlqtTPo+zkcXanV3H5ZnObO5dp1Hl1eV+dK0bZZhNz50KpC3pKzrPRTJJtNjHuEiX5qz8rRl03u9kMGV2gO5eLl5O+ombsjeY2G8urC3T3\/N1e\/Xx352Yz5HFx6Mkoe\/DqvKKy0dwo22w2m82n2f\/tvJlC\/ev+05dqX+rNFHiRPnmx9qXeTMFd6sfn08r5uWavelUyytXZZmNRF+nEZa+6nKuMeu\/s22wuPC5MtTL6nGbVE9U7qX32NpshowvDrH6+m83YsdlEjC5PculeZTN2bDYR7vI88tPK6LPKqpW72Waz2Ww2mz\/F6K\/5O5niztwoU7w7t\/nH4EWon+9k7Dy4M3eiMnYevDu32cjLcqIuzZ2z1TtP1Nlm8+1ivHuRRnMrdp6os80\/jrs4yUV6nFdP2OfnB3fO7s5t\/mFWXqTaeXfnu3Obf5RXl2HGRXI77u58d27zD\/K4CLRy55y5Oqu8yuu5yyv1XOWbzWaz2Wx+Feqv6vOs\/nV+evLq\/ORTmWKUbf4gry5IJe18KmPnwSjb\/FFGF+Ek7fx0dqLOTkbZ5o\/x+GUrK\/z8YNT56exEnZ2Mss0f487leNWpklH+KlO9k1F2os5ORtnmj3HncqQXiIy6NRu9d5SdqLOTUbb5Y9y5HOkFqox67j31s+s+UGcno2zzx7hzOd65QKdklD0Y5a+yes58lG02m81ms\/kI6q\/jevYq33+Nb34t6aUeZZvNr6BzqTebX8njkipP6p9P1Nlm82twl\/bVBd4Xe\/NrefdSP9gXe\/MrSS\/1KNtsfgXppX7wONsXerPZbDabTYPRv06cmcpH2QOV1RmVP1BZPWP24NX5g3ezzX+U85f56hdeqZ9H2cnj7E6v4vKT2hu9491s8we48wsddV5dkFfnilFWcTvr53ezzR\/gzi9UXYJTcp6NZpKsorJXc6PPrrv5j+N+oUn+6s+KUVfN3jlTn6snqrf5Q4x+oXd+2bws9BU1Y0\/N3TlTnZOaJXOb\/yCvfqF3z9\/t1c9JtzKr92pu8x\/j8YukJ6PswavzispGcy57xau5V+cnLt9sNpvNZrPZbDabzWaz2Ww2m81M\/ve\/\/wclQxXDBQHQjQAAAABJRU5ErkJggg==","fileSize":"8484","returnCode":"0"}');
A call to json_decode($json['JSONDataResult'], TRUE) decodes the big string into an array like this:
array(
'file' => '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',
'fileSize' => 8484,
'returnCode' => 0,
);
The value of file is encoded using base64. The complete code should look like this:
// Decode the JSON
$fileInfo = json_decode($json, TRUE);
// Decode the file content
$content = base64_decode($fileInfo['file']);
// Visually inspect its the decoded file content
print_r($content); // Congratulations, it's a PNG!
// Put the content in a file
file_put_contents('...the file path here...', $content);
// Use getimagesize() to learn about the image type
// an rename the file using the correct termination.
Btw, the value of fileSize is the length of the file field, i.e. the content encoded using base64, not the length of the actual PNG file on disk (as I would expect).
You tried to
$json = json_decode($data[0], true); //array
???
(mind the access on the first field on $data)
I'm trying to understand how to record the result of a curl GET request using php. I'm looking at outputing part or all of the result to mysql.
https://github.com/cloudtrax/docs/blob/master/api/code/php/simple_api_server_test_harness.php
function invoke_curl($method, $endpoint, $headers, $json) {
$api_server = 'https://api.cloudtrax.com';
try {
// get a curl handle then go to town on it
$ch = curl_init($api_server . $endpoint);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec($ch);
if ($result == FALSE) {
if (curl_errno($ch) == 0)
echo "#### NOTE ####: nil HTTP return: This API call appears to be broken" . "\n";
else
throw new Exception(curl_error($ch), curl_errno($ch));
}
else
echo "RESULT: \n" . $result . "\n";
}
The $result shows like this:
{
"clients": {
"ssid2": 4,
"ssid1": 10
},
"rows": [
{
"time": "2016-03-23T02:45:00Z",
"ssid2": {
"traffic": {
"unclassified": {
// etc...
How can I associate each part of the result too a variable so I can then input too mysql?
It looks like this result in json format. You can use json_decode to decode it:
$resultObject = json_decode($result);
$clients = $resultObject->clients;
// ... get other data from result
The code below will convert the json into a PHP array. You can then use the indexes of the array to pull out values.
$result = json_decode($result);
$clients = $result->clients;
// Some MySQL queries
If your response is a JSON response then you can simply use php's json_decode to get parsed object.
$result = curl_exec($ch);
//to get associative array passing true
$jsonObj = json_decode($result, true);
$clients = $jsonObj['clients'];
$rows = $jsonObj['rows'];
You can refer to these answers for more detail:
Parsing JSON object in PHP using json_decode and
Parsing JSON file with PHP
I'm trying to upload images using Graph API Batch Request, but i'm unable to upload using inline image, can anyone help me please?
Batch Request Docs: https://developers.facebook.com/docs/reference/api/batch/
Photo batch uploads: http://developers.facebook.com/blog/post/493/
Photo batch uploads blog post code works fine, but i want to upload images from my server and not from my pc, Ex: /public_html/image/pic.jpg and i'm not sure how i can do it.
EDIT: I'm using PHP SDK 3.0.1
Here's my code:
<?php
CODE WAS CHANGED AND THE PROBLEM IS FIXED ALREADY, SEE THE ANSWER BELOW
?>
This is from their docs:
Uploading binary data
Binary data can be specified as part of the multipart/mime portion of
the batch API request. The batch Graph API allows uploading multiple
binary items as part of a batch call. In order to do this, you need to
add all the binary items as multipart/mime attachments to your
request, and need each operation to reference its binary items using
the "attached_files" property in the operation. The "attached_files"
property can take a comma separated list of attachment names in its
value.
The following example shows how to upload 2 photos in a single batch
call:
curl
–F ‘access_token=…’ \
-F ‘batch=[{“method”:”POST”, \
“relative_url”:”me/photos”, \
“body”:”message=My cat photo” \
"attached_files":"file1" \
},
{“method”:”POST”, \
“relative_url”:”me/photos”, \
“body”:”message=My dog photo” \
"attached_files":"file2" \
},
]’
-F ‘file1=#cat.gif’ \
-F 'file2=#dog.jpg' \
https://graph.facebook.com
EDIT 2:
The first issue I see is that the Batch should not be part of the URL, but rather part of the params ...
See the crude batch example below:
$batch = array();
$req = array(
'method' => 'GET',
'relative_url' => '/me'
);
$batch[] = json_encode($req);
$req = array(
'method' => 'GET',
'relative_url' => '/me/albums'
);
$batch[] = json_encode($req);
$params = array(
'batch' => '[' . implode(',',$batch) . ']'
);
try {
$info = $facebook->api('/','POST',$params);
} catch(FacebookApiException $e) {
error_log($e);
$info = null;
}
if(!empty($info)){
if($info[0]['code'] == '200'){
$user_profile = json_decode($info[0]['body']);
}
if($info[1]['code'] == '200'){
$user_albums = json_decode($info[1]['body']);
}
echo "<pre>User Profile:\n";
print_r($user_profile);
echo "\nAlbums\n";
print_r($user_albums);
echo "<pre>";
}
Notice specifically how the $facebook->api call is formatted ...
EDIT:
Here is a working batch picture upload:
$files = array(
'/data/Pictures/pic1.jpg',
'/data/Pictures/pic2.jpg',
'/data/Pictures/pic3.jpg'
);
//Must set upload support to true
$facebook->setFileUploadSupport(true);
$batch = array();
$params = array();
$count = 1;
foreach($files as $file){
$req = array(
'method' => 'POST',
'relative_url' => '/me/photos',
'attached_files' => 'file' . $count
);
//add this request to the batch ...
$batch[] = json_encode($req);
//set the filepath for the file to be uploaded
$params['file'.$count] = '#' . realpath($file);
$count++;
}
$params['batch'] = '[' . implode(',',$batch) . ']';
try{
$upload = $facebook->api('/','post',$params);
} catch(FacebookApiException $e) {
error_log($e);
$upload = null;
}
//View the results ...
if(!is_null($upload)){
echo "<pre>" . print_r($upload,1) . "<pre>";
echo "<hr />";
}
Just tested and it works like a charm ...
Well, I'm not too sure and I cannot check at the moment, but
http://au.php.net/manual/en/function.curl-setopt.php
Look it up at CURLOPT_POSTFIELDS, it says:
The full data to post in a HTTP "POST" operation. To post a file,
prepend a filename with # and use the full path. The filetype can be
explicitly specified by following the filename with the type in the
format ';type=mimetype'. This parameter can either be passed as a
urlencoded string like 'para1=val1¶2=val2&...' or as an array with
the field name as key and field data as value. If value is an array,
the Content-Type header will be set to multipart/form-data. As of PHP
5.2.0, files thats passed to this option with the # prefix must be in array form to work.
Here is another CURL example:
CURL PHP send image
So what you need to do is
$queries = array(
array("method" => "POST", "relative_url" => "me/photos","body" => "message=cool","attached_files" => 'file1')
);
and
$batch = $facebook->api("/?batch=".json_encode($queries)."&file1=#pic.jpg", 'POST');
// // File you want to upload/post
$post_data['file1'] = "#D:/home/2.jpg";
$post_data['file2'] = "#D:/home/1.jpg";
// Initialize cURL
$ch = curl_init();
// Set URL on which you want to post the Form and/or data
curl_setopt($ch, CURLOPT_URL, $post_url);
// Data+Files to be posted
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
// Pass TRUE or 1 if you want to wait for and catch the response against the request made
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
// For Debug mode; shows up any error encountered during the operation
curl_setopt($ch, CURLOPT_VERBOSE, 1);
// Execute the request
$response = curl_exec($ch);
// echo curl_errno($ch);
// echo curl_error($ch);
// Just for debug: to see response
echo $response;
This will work for sure its working for me