Je construis une classe pour envoyer des appels d'API à Rapidshare et renvoyer les résultats de cet appel. Voilà comment je veux l'appel à faire:Problème lors de la configuration de l'appel d'API à l'aide d'un tableau de paramètres
$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));
Et voici la classe jusqu'à présent:
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;
}
}
Il est évident que je retourne $newUrl
et en utilisant print_r()
pour tester la chaîne de requête, et c'est ce que il sort comme avec le code ci-dessus:
sub&listfiles_v1type&premlogin&10347455password&_not_real_passrealfolder&0fields&filename,downloads,size
Quand il doit être:
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
J'espère que vous pouvez voir ce que je suis en train de faire ici: P C'est probablement une erreur stupide que je n'arrive pas à trouver ou une erreur logique.
Merci d'avance.