2012-06-27 37 views
0

我正在使用我自己的CMS。我將CMS的最新更新放入服務器上的更新文件夾中,文件名爲update.zip。如果密碼正確,PHP將從另一臺服務器下載.zip文件

有沒有辦法給我打電話讓我們說更新服務器上的一個PHP文件, http://updateserver.com/update.php?pass=JDFSDH324723HDSFSDJFDSHSD3

如果通過是正確的,那麼系統可以下載.zip文件?

或者,如果你們能想到做一個更新系統的更好的方法,我開放的建議:)

+2

爲什麼你需要密碼? – mensi

+0

您可以在「主」服務器上編寫腳本,該腳本只有在使用正確的密碼變量調用時纔會輸出zip文件的內容。非常簡化:'if($ _GET ['pass'] == CORRECT_PASSWORD){readfile('update.zip');}' – bububaba

+0

也是「你爲什麼需要密碼」? – nathan

回答

2

在更新服務器:

<?php 
if ($_GET['pass'] == $thepassword) { 
    header('Content-Transfer-Encoding: binary'); 
    header('Content-Length: '.filesize($zipfile)); 
    header('Content-Type: application/zip'); 
    readfile($zipfile); 
    exit(); 
} 
else { 
    echo 'error'; 
} 
?> 
+0

正是我在找的東西。謝謝:) –

1

我不會建議使用密碼這裏。如果您正在嘗試製作可以自行更新的CMS,則可以使用匿名下載,而不要檢查是誰下載的。

如果您的目標是讓人們爲它付出代價,那麼最好在每個客戶端的服務器端註冊一個密鑰。然後,當他們連接更新時,他們會發送密鑰,如果她在數據庫中且有效,則輸出您的zip文件。如果沒有,你不會。

如果您的CMS用於私人用途或您的公司,我認爲匿名下載會更好,因爲您不會將更新網址提供給任何人。

此外,代替使用功能readfile,只需向zip位置做一個標頭即可。

+0

你在談論匿名下載....這是如何工作的? –

+0

@IlyaKarnaukhov根本沒有密碼。 –

+0

嗯,我只是告訴PHP從PHP下載,它會下載標題的壓縮原因吧? –

相關問題