J'ai le problème, que je veux remplir une liste avec les noms de toutes les pages de mon wiki. Mon script:liste = toutes les pages ne livrent pas toutes les pages
$TitleList = [];
$nsList = [];
$nsURL= 'wiki/api.php?action=query&meta=siteinfo& siprop=namespaces|namespacealiases&format=json';
$nsJson = file_get_contents($nsURL);
$nsJsonD = json_decode($nsJson, true);
foreach ($nsJsonD['query']['namespaces'] as $ns)
{
if ($ns['id'] >= 0)
array_push ($nsList, $ns['id']);
}
# populate the list of all pages in each namespace
foreach ($nsList as $n)
{
$urlGET = 'wiki/api.php?action=query&list=allpages&apnamespace='.$n.'&format=json';
$json = file_get_contents($urlGET);
$json_b = json_decode($json ,true);
foreach ($json_b['query']['allpages'] as $page)
{
echo("\n".$page['title']);
array_push($TitleList, $page["title"]);
}
}
Mais il y a encore 35% de pages manquantes, que je peux visiter sur mon wiki (test avec "site aléatoire"). Est-ce que quelqu'un sait, pourquoi cela pourrait-il arriver?
trace cette condition 'if (ns $ [ » id ']> = 0) ' – diavolic
l'identifiant -2 (Media) et -1 (Special) renvoie une erreur, lorsqu'il est attaché à' apnamespace = ' –