我将 $data (array) 从一台服务器发送到另一台服务器,如下所示。当它到达第二个服务器时,$data 元素显然是 urlencoded。在第二台服务器上,我希望在 exec() 中使用一些 $data。即使我传递了一个哈希并确保它在另一端有效,我仍然希望在适当的时候使用 escapeshellarg()。由于 $data 元素已经被 urlencoded,我应该如何应用 escapeshellarg()?谢谢
curl_setopt($ch,CURLOPT_POSTFIELDS,flatten_GP_array($data));
function flatten_GP_array(array $var,$prefix = false)
{
//Used for CURL routines when sending multi-dimential array
$return = array();
foreach($var as $idx => $value){
if(is_scalar($value)){
if($prefix){$return[$prefix.'['.$idx.']'] = urlencode($value);}
else {$return[$idx] = urlencode($value);}
}
else {$return = array_merge($return,library::flatten_GP_array($value,$prefix ? $prefix.'['.$idx.']' : $idx));}
}
return $return;
}