如果密码正确,PHP从另一台服务器下载.zip文件

时间:2012-06-27 14:37:36

标签: php ftp download zip

我正在使用我自己的CMS。我将CMS的最新更新放入服务器上的更新文件夹中,文件名为update.zip。

有没有办法让我在更新服务器上调用一个带有变量的PHP文件,例如http://updateserver.com/update.php?pass=JDFSDH324723HDSFSDJFDSHSD3

如果传递正确,那么系统可能会下载.zip文件吗?

或者,如果你们能想出更好的制作更新系统的方法,我愿意接受建议:)

2 个答案:

答案 0 :(得分: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';
}
?>

答案 1 :(得分:1)

我不建议在这里使用密码。如果您正在尝试创建可以自我更新的CMS,例如某些CMS,则最好使用匿名下载,不要检查是谁下载它。

如果您的目标是让人们为此付费,那么最好在服务器端为每个客户注册一个密钥。然后,当他们连接到更新时,他们将发送密钥,如果她在您的数据库中并且有效,则输出您的zip文件。如果没有,你就不会。

如果您的CMS是供私人使用或您的公司,我认为匿名下载会更好,因为您不打算将更新网址提供给任何人。

此外,不要使用函数readfile,只需在zip位置执行标题。