2017-04-11 139 views
0

我正在編寫一個腳本來查找服務器上的每個Wordpress安裝並創建一個詳細報告過期版本的報告。這工作正常。如果版本號超過整數,我只想將格式更改爲「危險」。評估版本號是否小於另一個版本號

例如,目前WordPress的版本是4.7.3,所以我會在4.5.0(已經在工作)上發出「警告」 - 但是什麼是登錄識別任何東西小於4.0.0

非常感謝。

下面是腳本的開頭:

$url='https://api.wordpress.org/core/version-check/1.7/'; 

$contents = file_get_contents($url); 
$contents = utf8_encode($contents); 
$versions = json_decode($contents); 

$upgrade  = $versions->offers[0]; 
$WPversion  = $upgrade->version; 
$WPmajorVersion = $WPversion[0]; //This will work to get the first digit right? 

然後(一旦我循環安裝)我只是後:

if($version *[THIS]* $WPMajorVersion){ 
    //Big warning 
} else { 
    //Small warning 
} 
+0

'utf8_encode()'在那裏做什麼? API當然確實已經提供了UTF8編碼數據。 – arkascha

回答

1

我會說這是稍微更正確的版本:

<?php 
$url='https://api.wordpress.org/core/version-check/1.7/'; 

$contents = file_get_contents($url); 
$versions = json_decode($contents); 

$wpUpgradeVersionString = $versions->offers[0]->version; 
$wpUpgradeVersion = array_map('intval', explode('.', $wpUpgradeVersionString)); 

var_dump($wpUpgradeVersion[0]); 

它提供整數值4作爲輸出。

+0

感謝您的反饋,非常有趣。關鍵點在腳本的後面,但我可能沒有解釋得很好。一旦我有版本(比如說「4」),我需要將它與盒子上的版本進行比較,如果THOSE版本(比如3.6.1)小於4,則會輸出一個額外的警告。雖然即使在我寫入時,我在這個問題上瘋狂的心理障礙哈哈。我想我只需要再次獲得第一位數字!衛生署! – mayersdesign

+0

@mayersdesign比較版本號「4.1.2」確實是一個高於「3.8.8」的完整版本。只有主要版本號纔是重要的。很高興我能幫上忙! – arkascha