Я создаю класс для отправки вызовов API на Rapidshare и возврата результатов указанного вызова. Вот как я хочу, чтобы звонок был сделан:
$rs = new rs();
$params = array(
'sub' => 'listfiles_v1',
'type' => 'prem',
'login' => '10347455',
'password' => 'not_real_pass',
'realfolder' => '0',
'fields' => 'filename,downloads,size',
);
print_r($rs->apiCall($params));
А вот класс пока что:
class RS
{
var $baseUrl = 'http://api.rapidshare.com/cgi-bin/rsapi.cgi?sub=';
function apiCall($params)
{
$newUrl = $baseUrl;
$keys = array_keys($params);
$count = count($params);
for($i = 0; $i < $count; $i++)
{
$newUrl .= $keys[$i];
$newUrl .= '&';
$newUrl .= $params[$keys[$i]];
}
return $newUrl;
}
}
Очевидно, я возвращаю $newUrl
и использую print_r()
для проверки строки запроса, и это то, что получается с кодом, показанным выше:
sub&listfiles_v1type&premlogin&10347455password&_not_real_passrealfolder&0fields&filename,downloads,size
Когда это должно быть:
http://api.rapidshare.com/cgi-bin/rsapi.cgi?sub=listfiles_v1&type=prem&login=10347455&password=not_real_pass&realfolder=0&fields=filename,downloads,size
Надеюсь, вы увидите, что я пытаюсь сделать здесь: P Возможно, это глупая ошибка, которую я не могу найти, или логическая ошибка.
Заранее спасибо.