J'ai cette fonction codée pour vérifier l'état d'un lien Rapidshare en utilisant leur API:retourne un tableau à partir d'une fonction (PHP)
function CheckLink($fileid, $filename)
{
$q = file_get_contents("http://api.rapidshare.com/cgi-bin/rsapi.cgi?sub=checkfiles_v1&files=$fileid&filenames=$filename");
$r = explode(",", $q);
switch ($r[4])
{
case 0:
return array('status' => "0", 'desc' => "File not found");
break;
case 1:
return 1;
break;
case 2:
return 1;
break;
case 3:
return array('status' => "0", 'desc' => "Server down");
break;
case 4:
return array('status' => "0", 'desc' => "File marked as illegal");
break;
case 5:
return array('status' => "0", 'desc' => "Anonymous file locked");
break;
case 6:
return 1;
break;
default:
return array('status' => "0", 'desc' => "Unknown error");
}
}
Si la fonction retourne 1, le fichier est vivant. S'il renvoie un tableau, cela signifie que le fichier est mort. Le tableau renvoyé est le code d'état (0 car il est mort) et le message d'erreur à afficher à l'utilisateur.
Maintenant, j'ai ce code dans index.php:
if(is_array($var = CheckLink($match[1], $match[2])))
{
echo $var[1];
}
Ce que je suis en train de faire est de vérifier si le résultat de la fonction est un tableau (ce qui signifie le lien est mort) et si elle est, renvoyer le message d'erreur à l'utilisateur. Mais ça ne marche pas, je n'ai pas d'erreur PHP et ça ne fait pas écho à la page.
Vous avez de l'aide? Merci. :)
Je sais que ce n'était pas la question, mais vous faites les déclarations 'break' redondantes parce que vous quittez la fonction avant que' break'statement soit atteinte. –