```
//更新包不要再嵌套其他文件夾中(選中所有文件再點擊壓縮而不是返回上一個目錄壓縮)
├─temp 更新包默認下載地址
│ ├─update 更新包默認下載地址
│ ├─sql 數據庫文件夾 (如果本次更新無需升級數據庫,無需創建此文件夾)
│ │ ├─update.sql 更新SQL文件
├─xx1 你的需要更新的文件夾 (根據更新需求對應目錄創建文件夾)
│ ├─xx.php 你的需要更新的代碼
├─xx2 你的需要更新的文件夾
│ ├─xx.html 你的需要更新的代碼
├─xx3 以此類推
├─.oreo (配置文件,不可刪除,每次更新請修改里面的NUM值為更新的版本)
```
好了,你已經學會了更新包的結構了,回到話題怎么下載更新包,我們也提供了下載更新包的接口,使用方法如下
```php
//當有新的版本提示,原則上你的網站會有一個(更新或下載)按鈕,點擊按鈕系統自動下載并且安裝好后返回結果
//一般情況下你的更新頁面需要通過url的get方法來檢測加載相應的頁面操作,具體的方法我們會在實例Demo中展示,你也可以直接參考Demo文件的update
$outVersion = $authParam['version']; //之前版本
$updatedir = '../temp/update/';//設置下載目錄,建議直接在全局(核心)文件中設置;請不要設置在當前目錄,應當在根目錄下創建文件夾最合適
$fileName = $oreoAuth->save($oreoContent['data']['verUrl'],$updatedir);//下載文件
$updateZip = $updatedir.$fileName;//下載的文件目錄和名稱
//初始化PHPZIP
$zip = new ZipArchive;
$res = $zip->open($updateZip);
if ($res === true) {
$zip->extractTo('../');
$zip->close();
$sqlfile = '../temp/sql/update.sql';
$sql = @file_get_contents($sqlfile);
if ($sql) {
error_reporting(0);
foreach (explode(";[\r\n]+", $sql) as $v) {
//@mysql_query($v);
$DB->query($v)->fetch(); //這個Sql導入語句根據您的代碼來定義,當然我們也會為你提供mysqli的導入方法
}
$type = 1;
$oreoAuth->delDirAndFile('../temp/sql/'); //刪除sql文件
}
$oreoAuth->delDirAndFile($updatedir); //刪除更新包
if(!empty($type)){ $type=1;}else{$type=2;}
$oreoAuth->post($authParam)->updateLog('updateSqlType',$type)->url('http://你的域名/oreo/api/checkUpdateLog');//上報更新結果
echo '升級成功';
}else{
echo '升級失敗';
}
```
```php
//mysqli導入SQL的方法(根據需要選擇使用)(參考)
$_mysqli = new \mysqli($hostname,$username,$password,$database,$port);//地址,用戶名,密碼,庫名,端口
if (mysqli_connect_errno()) {
exit("連接數據庫出錯");
}
foreach (explode(";[\r\n]+", $sql) as $v) {
$_mysqli->multi_query($v); //導入
}
$_mysqli->close();//關閉連接
unset($hostname,$username,$password,$database,$port,$_mysqli);//注銷變量
```
------