Failed read content from json using cUrl in PHP - php

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)

Related

PHP API request by GET details

I'm trying to get the details from this example (i created the code right now).
But i'm very... confused... how can i get the details of the link, then separate and send to my MYSQL database..
<?php
$ch = curl_init();
$url = "https://reqres.in/api/users?page=2";
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$resp = curl_exec($ch);
if($e = curl_error($ch)) {
echo $e;
}
else {
$decoded = json_decode($resp, true);
//print_r($decoded);
foreach($decoded as $key => $item) {
$array = array(
'id' => ,
'email' => ,
'first_name' => ,
'last_name' => ,
);
print_r($array);
}
}
curl_close($ch);
?>
If you call the url in your browser then you will see that the result array is present in the data field.
You may check this by printing the whole result:
print_r($decoded);
So if you like to print_r the results it should be simply
print_r($decoded['data']);
If you like to store it in your database you may walk through the array and store each item
foreach($decoded['data'] as $item) {
storeItem($item);
}
To make this work you should implement the storeItem function which accepts the array $item and stores it into your database. There are various tutorials about doing that.

foreach is saving only the first array even print_r printing the result correctly what am missing

I am building a function to download images from an external source, and then write the id of each product has been downloaded along with the path to json file,
The download loop is working correctly but when am trying to save the product id & image path to a text file only the first record is saved.
i tried to print the output before using the file_put_contents function and it turns out am getting the correct result. I am wondering why only the first result is saved not all of them ?
I spent almost all day tryinf to figure it out but no luck. any help will be appreciated.
here is my code:
$url = 'product-test2.json'; // path to JSON file
$data = file_get_contents($url);
$characters = json_decode($data, true);
$i = array_column ($characters , 'Id');
foreach ( $i as $value => $productid){
include 'login.php';
$url = "http://xxxx.com/api/products/image/";
$url .= implode($matches [0]); // get the token form login.php
$url .= '/' . $productid ; //product id
// echo $url . '<br>';
$opts = array ('http' => array (
'methos' => 'GET',
'header' => 'Content-typpe: application/json',
)
);
$context = stream_context_create ($opts);
$urlImage = file_get_contents ($url , false , $context);
$urlImage = substr_replace ($urlImage , "",-1);
$urlImage = substr ($urlImage , 1);
$fopenpath = 'C:\\xampp\htdocs\\test\\api\\images\\' ;
$fopenpath .= $productid . '.jpg';
$fp = fopen ( $fopenpath, 'w');
$c = curl_init ($urlImage);
curl_setopt ($c , CURLOPT_FILE , $fp);
curl_setopt ($c , CURLOPT_HEADER, 0);
curl_setopt ($c , CURLOPT_POST, false);
curl_setopt ($c , CURLOPT_SSL_VERIFYPEER, false);
$rawdata = curl_exec ($c);
fwrite ($fp, $rawdata);
fclose ($fp);
//
$result3= ["id" => $productid ,"image_path" => $fopenpath] ;
$image_file = "images.json";
$output = json_encode ($result3);
print_r ($output);
file_put_contents ($image_file , $output );
};
and here is the result from print_r ($result3);
{"id":2977,"image_path":"C:\\xampp\\htdocs\\test\\api\\images\\2977.jpg"} {"id":2981,"image_path":"C:\\xampp\\htdocs\\test\\api\\images\\2981.jpg"} {"id":3009,"image_path":"C:\\xampp\\htdocs\\test\\api\\images\\3009.jpg"} {"id":3018,"image_path":"C:\\xampp\\htdocs\\test\\api\\images\\3018.jpg"} {"id":11531,"image_path":"C:\\xampp\\htdocs\\test\\api\\images\\11531.jpg"}
as you can see the Print_r is correct all what i want to do is to save the output into file and currently here is the result from file_put_contents only one array :
{"id":11531,"image_path":"C:\\xampp\\htdocs\\test\\api\\images\\11531.jpg"}
can you please help and tell me what am doing wrong i already spend a lot of time on this :)
file_put_contents is the same as opening, writing, and closing the file, which doesn't really make sense to do in a foreach loop. If you really want to use it, I think you could add the FILE_APPEND flag, which will stop it from overwriting itself over and over and over.
An alternative would be to fopen before the foreach loop with the 'a' flag, which will create the file then keep appending lines instead of wiping out the file contents every loop. (And fclose after the foreach.)

Getting a specific value from an array

I'm trying to get a specific column from an array for each record returned.
The array is called fields and one of the arrays in the array is locations. I'm looking for a specific column in the array called name.
Here's what I have:
foreach ($new_results as $result):?>
$locations = array_map($result->locations->location,function($obj) { return $obj->location; });
echo implode(",",$locations);
endforeach;
I'm connecting to a web service to pull this data. The above is the code that the company gave me, but they haven't tested it as far as I know. It doesn't work for me.
Here's the call to the API
$results = $connection->call('groups/getAll', $params=array("suspended" => "no","fields" =>"locations"));
$new_results = $results->groups->group;
Here's an example from the API.
{
"id": "xxxx",
"fields": {
"locations": [
"North",
"Central"
]
}
}
Any thoughts on what I'm doing wrong? I'm still very new to PHP so I may be missing something very obvious.
How to get json using curl:
How to get JSON data from Rest API by PHP Curl?
Now with that in mind you can dive a little deeper into the object manipulation in terms of the response here: Accessing JSON object elements in PHP.
//""" code from the first link
$service_url = "http://127.0.0.1:8000/api/thesis/?format=json";
$curl = curl_init($service_url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0);
//execute the session
$curl_response = curl_exec($curl);
//finish off the session
curl_close($curl);
$curl_jason = json_decode($curl_response, true);
print_r($curl_jason);
//""" code from the first link
&
//""" code from the second link
/*Variable passed in from the ExtJS interface as JSON object*/
$json = $_POST["newUserInfo"];
//$json = '{"USER":{"ID":"","FULL_USER_NAME":"Some Guy","ENTERPRISE_USER_NAME":"guyso01","USER_EMAIL":"Some.Guy#Email.com","USER_PHONE":"123-456-7890"},"PERMISSIONS":{"ID":"","USER_ID":"","IS_ADMIN":"true"},"SETTINGS":{"ID":"","USERS_ID":"","BACKGROUND":"default"}}';
//Test to view the decoded output
//var_dump(json_decode($json));
//Decode the $json variable
$jsonDecoded = json_decode($json,true);
//Create arrays for each table from the $jsonDecoded object
$user_info = array($jsonDecoded['USER']);
$permissions_info = array($jsonDecoded['PERMISSIONS']);
$settings_info = array($jsonDecoded['SETTINGS']);
// """ code from the first link

PHP (CI) cURL passed multidimensional array does not behave as one (Can't loop it)

I'm having an extrange issue when receiving parameters from a POST cURL request. No matter how I encode it (json, url, rawurl, utf8, base64...) before POSTing it, I am not able to perform any decoding operation through the array elements, via loop. I'm giving you the details.
From the consuming controller, in some other php (Yii) app, I build my request like this:
private function callTheApi($options)
{
$url = "http://api.call.com/url/api";
$params = array( 'api_key' => $this->api_key,
'domain' => $this->domain,
'date' => $options['date'],
'keys' => $options['keys'] // This is an array
);
// Following some good advice from Daniel Vandersluis here:
// http://stackoverflow.com/questions/3772096/posting-multidimensional-array-with-php-and-curl
if (is_array($params['keys'])
{
foreach ($params['keys'] as $id => $name)
{
$params['keys[' . $id . ']'] = $name;
}
unset($params['keys']);
}
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-type: multipart/form-data; charset=utf-8'));
curl_setopt($ch, CURLOPT_TIMEOUT, 120);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, TRUE);
curl_setopt($ch, CURLOPT_POSTFIELDS, $params);
curl_setopt($ch, CURLOPT_USERAGENT,
"Mozilla/5.0 (Windows; U; Windows NT 5.0; en; rv:1.9.0.4) "
. "Gecko/2009011913 Firefox/3.0.6");
$output = curl_exec($ch);
$error = curl_errno($ch);
$error_text = curl_error($ch);
curl_close($ch);
if (!$output || $error != 0)
die("<br><hr>Problems...<br>"
. "Line:" . __LINE__ . " dataExtractor.php<br>"
. "Error: " . $error . " - " . $error_text . "<hr>"
. $url . "<hr>");
sleep(1);
return json_decode($output, true);
}
And in the api itself, this is the function:
public function api()
{
$params = $_POST;
foreach($params as $k=>$v){
if($k=='domain') $domain = $v;
if($k=='date') $date = $v;
if($k=='api_key') $api_key = $v;
if($k=='keys') $keys = $v;
}
echo json_encode($keys);
// All my logic would be here, after parsing the array correctly.
}
Ok, now for the problems:
If i leave everything like stated before, it works. I have my $keys array in the api, and I can use it however I want. The "echo json_encode($keys)" sentence returns the array ALMOST as it should be. But the problem is some values of the array are corrupted in the cURL operation. Values such as spanish characters á, é ,í, ó, ú OR ü are simply not present in the array_values.
If some key in the $keys array was spanish word "alimentación" in the original array, once it's been cURLed to the api, it becomes "alimentacin". There, the ó is not there anymore.
So, my chances are encoding each value in the array to a safely transferred value, so that I can decode it later. But what do you know, I can't.
I've tried urlencoding, rawurlencoding, json_encoding, base64_encoding... each value of the array. And if I return the received array from the api, it contains the encoded values all right. BUT.
If I loop the array in the api for decoding, and then try to return it, no matter what decoding function I'm applying to its values, the output is ALWAYS "NULL".
I have no clue what I'm doing wrong here. Not even close.
So any help would be much appreciated. Thanks in advance, community.
When you create cUrl params array you should know that keys cannot be utf8.
And when you add some parameters in foreach loop
$params['keys[' . $id . ']'] = $name;
$id can be utf8 character.
To avoid that I recommend you to use json_encode
$params = array(
'api_key' => $this->api_key,
'domain' => $this->domain,
'date' => $options['date'],
'keys' => json_encode($options['keys']) // This is an array
);
In your api in this case you should change nothing.

Foreach returning errors

I'm working with the yahoo api - and pretty much going off their example. BUT I'm getting errors such as: Invalid argument supplied for foreach()
Here is the actual foreach statement:
foreach ($data->query->results->result as $r){
// do something with the data
}
The entire code i'm running is here:
$c =curl_init("http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20local.search%20where%20state%3D'delaware'%20and%20city%20%3D%20'smyrna'%20and%20query%3D'pizza'&format=json");
curl_setopt($c, CURLOPT_RETURNTRANSFER, true);
curl_setopt($c, CURLOPT_CONNECTTIMEOUT, 20); // query times out after 20 seconds
$data = curl_exec($c); // I asked for data format to be in json in the query it appears to be returned decoded
//print_r($data);
$data = curl_exec($c);
if ($data === FALSE) {
die("Curl failed with error: " . curl_error($c));
}
$data = json_decode($data);
if (is_null($data)) {
die("json_decode failed with error: " . json_last_error());
}
foreach ($data->query->results->result as $r){
// do something with the data
}
$data is a decoded json response - it's got the data and it appears that my structure is right - i just want to loop through and display business names for example - but no go.
It should be $data->query->results->Result. Notice, the Uppercase Result.
To help you with JSON. Paste the whole JSON string into this utility, and see the tree structure visually.
json_decode requires you pass an extra boolean parameter if you want it to return an ARRAY rather than an object.
$data = json_decode($data,TRUE);
if (is_null($data)) {
die("json_decode failed with error: " . json_last_error());
}
foreach ($data['query']['results]'['Result'] as $r){
// do something with the data
}

Categories