الشفرة التي كتبتها:
<?
$arr = array("do", "agent", "email");
foreach($arr as $param) {
if (isset($_POST[$param])) {
global $$param;
$$param = $_POST[$param];
}
}
$postdata = http_build_query(
array(
'do' => '$do',
'agent' => '$agent',
'email' => '$email'
)
);
$options = array('http' =>
array(
'method' => 'POST',
'content' => $postdata
)
);
$context = stream_context_create($options);
$result = fopen('http://www.website.com/', 'r', FALSE, $context);
$meta = stream_get_meta_data($result);
for ($i=0;isset($meta["wrapper_data"][$i]);$i++)
{
if (strstr(strtolower($meta["wrapper_data"][$i]), "Location"))
{
$loc = substr($meta["wrapper_data"][$i], 9);
break;
}
}
fclose($result);
echo $loc;
?>مبسّطة قدر الإمكان, المشكلة حسبما فهمت ان stream_get_meta_data لا يعمل الا بـ fopen
طيب و fopen معطل لأسباب معروفة ولنفرض لا استطيع طلب تفعيلها من قبل الشركة. ما العمل او بالاحرى ما البديل عنها؟
ملاحظة: احاول قدر الإمكان عدم استبدال stream_get_meta_data بـ $http_response_header