我有問題,我想用我的wiki中所有頁面的名稱填充一個列表。我的腳本:list = allpages不能提供所有頁面
$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"]);
}
}
但仍有35次%的頁面丟失,我可以在我的wiki訪問(「隨機現場」測試)。有誰知道,爲什麼會發生這種情況?
跟蹤這種情況下'如果($ NS [」 id']> = 0)' – diavolic
當連接到'apnamespace =' –