안녕하세요 저는 recynived JSON을 json_decode()
으로 디코딩하기 위해 triyng를 사용하지만 매번 NULL을 반환합니다. Json_decode는 컬링을 사용하여 데이터를받은 후 유효한 JSON으로 NULL을 반환합니다.
foreach ($_data->response as $item){
$test[$item->plugin] = $item->new_version;
}
$compteur = 0;
$compteur2 = 0;
$values = array();
foreach ($apl as $p){
if ($_data != null){
if(isset($test[$p])) {
$values[$compteur] = array(
'id' => $compteur,
'plugin_name' => $plugins[$p]["Name"],
'plugin_version' => $plugins[$p]["Version"],
'plugin_up_to_date' => $test[$p],
);
}
else{
$values[$compteur] = array(
'id' => $compteur,
'plugin_name' => $plugins[$p]["Name"],
'plugin_version' => $plugins[$p]["Version"],
'plugin_up_to_date' => '0'
);
}
}
else{
array_push($values, array(
'id' => $compteur,
'plugin_name' => $plugins[$p]["Name"],
'plugin_version' => $plugins[$p]["Version"],
'plugin_up_to_date' => '0'
));
$compteur2++;
}
$compteur++;
}
$compteur = 0;
$compteur2 = 0;
array_push($values, array(
'Framework' => "WordPress",
'Version' => $wp_version,
));
$values = array_map("unserialize", array_unique(array_map("serialize", $values)));
$values = array_values($values);
/* Codage de la clé de cryptage sous 16 Bytes */
$enc = MCRYPT_RIJNDAEL_128;
$key = "mercijackymichel";
$mode = MCRYPT_MODE_CBC;
$text = "123";
$ivSize = 16;
$iv = str_repeat("\0", $ivSize);
/*returning the json*/
return $crypt = base64_encode(mcrypt_encrypt($enc, $key, json_encode($values), $mode, $iv));
이
내 JSON을 내 코드입니다json으로는 다음과 같다 :
[{"id":0,"plugin_name":"Akeeba Backup for WordPress","plugin_version":"1.9.0","plugin_up_to_date":"0"},{"id":1,"plugin_name":"Contact Form 7","plugin_version":"4.4.2","plugin_up_to_date":"0"},{"id":2,"plugin_name":"Cornerstone","plugin_version":"1.2.4","plugin_up_to_date":"1.3.0"},{"id":3,"plugin_name":"Duplicate Page","plugin_version":"1.4","plugin_up_to_date":"0"},{"id":4,"plugin_name":"Slider Revolution","plugin_version":"5.2.5.3","plugin_up_to_date":"5.2.6"},{"id":5,"plugin_name":"WordPress Importer","plugin_version":"0.6.1","plugin_up_to_date":"0"},{"id":6,"plugin_name":"Yoast SEO","plugin_version":"3.4","plugin_up_to_date":"3.4.1"},{"id":7,"plugin_name":"WP Migrate DB","plugin_version":"0.8","plugin_up_to_date":"0"},{"id":8,"plugin_name":"X – Google Analytics","plugin_version":"1.0.0","plugin_up_to_date":"0"},{"Framework":"WordPress","Version":"4.5.3"}]
을 그리고 내 PHP 스크립트 호출하는 코드가있다 :
$curlSession = curl_init();
echo '<br>'.$url.'<br><br>';
$ua = 'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.2 (KHTML, like Gecko) Chrome/22.0.1216.0 Safari/537.2';
curl_setopt($curlSession, CURLOPT_URL, $url.'backup/getModul.php');
curl_setopt($curlSession, CURLOPT_RETURNTRANSFER,true);
curl_setopt($curlSession, CURLOPT_USERAGENT, $ua);
$result =base64_decode(curl_exec($curlSession));
$httpCode = curl_getinfo($curlSession, CURLINFO_HTTP_CODE);
if ($httpCode == 401){
echo 'Problème de connexion check .htacces';
}else{
$decrypt = mcrypt_decrypt($enc, $key, $result, $mode, $iv);
var_dump($decrypt);
var_dump(json_decode($decrypt));
var_dump(json_last_error());
var_dump(json_last_error_msg());
}
curl_close($curlSession);
은 하지만이 때마다 NULL을 반환, 내가 alredy UTF-8하지만 노히에 rencode 그것을 호출하려고 stripslashes()
를 호출하려고 NG는 당신이 어떤 생각을 가지고있는 경우 json_last_error()
를 호출하여 내가 오류가 .. 좋은 것
Control character error, possibly incorrectly encoded
이되어 작동하는 것 같다!
은 아마 암호 해독,'위해서 var_dump ($의 해독) 무엇을 잘못된다 '실제로 내 암호화없이 테스트하고 aswell 작동하지 않습니다 – Steve
을 보여 내 스크립트로 만든 JSON과 정확히 똑같은 내용을 보여줍니다. –
http://pastebin.com/Z9NGDyrn var_dump ($ decrypt) show –