2013-10-04 44 views
1

我主持了一堆WordPress的網站,我想製作一個腳本,每天檢查他們的版本,如果他們不符合Wordpress的最新版本,它會通知我。從php文本文件生成數據庫表

現在我發現,檢查他們的版本,最簡單的方法是尋找到WP-包括/ version.php文件,所以我做了這個:

grep的 「$ wp_version =」/家庭/ * /的public_html/wp-includes/version.php> /~/wordpress/versions.txt

上面的代碼將放在cron中,每天執行一次。

現在我想打一個PHP腳本,將組織上面的腳本的每一行到表中,這樣的:

文件夾(在其中安裝WordPress站點);版本

然後,我希望腳本檢查上面的「版本」是否與我將設置的變量$ wp_latest_version匹配。如果它們匹配,則「版本」單元格將變爲綠色,如果它們不匹配,則「版本」將變爲紅色,以便我或同行可以知道我們需要更新哪些網站。

我對如何做最後一部分有點想法,但現在我被困在「翻譯.txt文件到表」過程中。

有什麼建議嗎?

另外,我應該使用MySQL嗎?

這是我想翻譯成表輸出文本的一部分:

/home/alton/public_html/wp-includes/version.php:$wp_version = '3.5.2'; 
/home/boutaces/public_html/wp-includes/version.php:$wp_version = '3.4'; 
/home/byseacom/public_html/wp-includes/version.php:$wp_version = '3.5.2'; 
/home/capricho/public_html/wp-includes/version.php:$wp_version = '3.5.1'; 
/home/carlosva/public_html/wp-includes/version.php:$wp_version = '3.6.1'; 
/home/cerimoni/public_html/wp-includes/version.php:$wp_version = '3.5.1'; 
/home/cotaksis/public_html/wp-includes/version.php:$wp_version = '3.6.1'; 
/home/crisblog/public_html/wp-includes/version.php:$wp_version = '3.5'; 
/home/customup/public_html/wp-includes/version.php:$wp_version = '3.5.2'; 
/home/dentist/public_html/wp-includes/version.php:$wp_version = '3.4.2'; 
+0

你使用的是wordpress,mysql基本上是一個需求... –

+0

@MarcB但我沒有直接在這裏處理wordpress,我可以檢查他們的版本,而不必觸摸數據庫。 – viniciusmunich

回答

0
foreach($lines as $line) 
{ 
    if(preg_match('|\/home\/(.+?)\/public_html\/wp-includes\/version.php:\$wp_version = '(.+?)';|', $line, $matches)) 
    { 
     $folder = $matches[1]; 
     $version = $matches[2]; 
    } 
} 

一旦你從字符串分隔值,寫他們要麼到你的選擇還是一個分貝成文件。