最近在写一个类似微擎的框架,需要做客户的框架根据版本升级,主要思路,用户的网站curl访问云服务器的程序,判断版本是否符合(这里我暂时没有对用户进行校验,正确需要校验),然后返回对应版本更新的内容,然后通过md5_file判断文件是否一致,不一致更新,一致不更新!
<?php
global $_GPC;
$version = $_GPC['version'];
if(empty($version)){
$version = '1.0.0';
}
$path = ADDONS_PATH."tpwe_pc/data/".$version;
$list = get_filenamesbydir($path);
$data = array();
foreach ($list as $vs){
$kes = str_replace($path.'/', '', $vs);
$data[$kes]=array(
'content'=>file_get_contents($vs),
'filemd5'=>md5_file($vs)
);
}
exit(json_encode($data));
//$data=file_get_contents($path);
function get_allfiles($path,&$files)
{
if(is_dir($path))
{
$dp = dir($path);
while ($file = $dp ->read())
{
if($file !== "." && $file !== "..")
{
get_allfiles($path."/".$file, $files);
}
}
$dp ->close();
}
if(is_file($path))
{
$files[] = $path;
}
}
function get_filenamesbydir($dir)
{
$files = array();
get_allfiles($dir,$files);
return $files;
}