本文整理匯總了PHP中Update::overWrittenFile方法的典型用法代碼示例。如果您正苦於以下問題:PHP Update::overWrittenFile方法的具體用法?PHP Update::overWrittenFile怎麽用?PHP Update::overWrittenFile使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類Update
的用法示例。
在下文中一共展示了Update::overWrittenFile方法的3個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。
示例1: downloadAndInstall
/**
* 一鍵安裝接口
* @return void
*/
public function downloadAndInstall()
{
header("content-Type: text/html; charset=utf-8");
// 獲取下載地址
$develop_id = intval($_GET['develop_id']);
$url = $this->RemoteAppURL . '/index.php?app=public&mod=Tool&act=downloadApp&develop_id=' . $develop_id;
$info = file_get_contents($url);
$info = json_decode($info, true);
// 載入下載類
tsload(ADDON_PATH . '/library/Update.class.php');
$updateClass = new Update();
//從服務器端下載應用到本地
$res = $updateClass->downloadFile($info['packageURL']);
if ($res != 1) {
$this->error('下載應用失敗,請確認網絡是否正常');
exit;
}
// 壓縮
$package = explode('/', $info['file']['filename']);
$packageName = array_pop($package);
$targetDir = $updateClass->downloadPath . 'unzip';
// 創建目錄unzip
if (!is_dir($targetDir)) {
@mkdir($targetDir, 0777);
}
$res = $updateClass->unzipPackage($packageName, $targetDir);
if ($res != 1) {
$this->error('下載應用解壓失敗');
exit;
}
// 覆蓋代碼
switch ($info['type']) {
case 3:
// 應用
$res = $updateClass->overWrittenFile(APPS_PATH);
break;
case 2:
// 插件
$res = $updateClass->overWrittenFile(ADDON_PATH . '/plugin');
break;
case 1:
// 皮膚
$res = $updateClass->overWrittenFile(ADDON_PATH . '/theme');
break;
}
// 安裝
switch ($info['type']) {
case 3:
// 應用
U('admin/Apps/preinstall', array('app_name' => $info['app_name'], 'install' => 1), true);
break;
case 2:
// 插件
U('admin/Addons/index', array('install' => 1), true);
break;
case 1:
U('admin/Apps/onLineApp', true);
break;
}
}
示例2: downloadAndInstall
/**
* 本地一鍵安裝接口
*
* @return void
*/
public function downloadAndInstall()
{
header("content-Type: text/html; charset=utf-8");
// 獲取下載地址
$id = intval($_GET['id']);
$url = $this->remoteBaseURL . '/index.php?s=admin/store/downloadApp&id=' . $id;
// dump($url);exit;
$info = wp_file_get_contents($url);
$info = json_decode($info, true);
if (!$info['status']) {
$this->error($info['error']);
exit;
}
// 載入下載類
Vendor('Update');
$updateClass = new \Update();
// 從服務器端下載應用到本地
$res = $updateClass->downloadFile($info['data']['packageURL']);
if ($res != 1) {
$this->error('下載應用失敗,請確認網絡是否正常');
exit;
}
// 壓縮
$package = explode('/', $info['data']['packageURL']);
$packageName = array_pop($package);
$targetDir = $updateClass->downloadPath . 'unzip';
// 創建目錄unzip
if (!is_dir($targetDir)) {
@mkdir($targetDir, 0777);
}
$res = $updateClass->unzipPackage($packageName, $targetDir);
if ($res != 1) {
$this->error('下載應用解壓失敗');
exit;
}
// 覆蓋代碼
switch ($info['data']['type']) {
case 3:
// 萬能頁麵功能塊
$res = $updateClass->overWrittenFile(SITE_PATH . '/Addons/Diy/Widget');
break;
case 2:
// 在線素材
$res = $updateClass->overWrittenFile(SITE_PATH . '/Addons/Material');
break;
case 2:
// 微官網模板
$res = $updateClass->overWrittenFile(SITE_PATH . '/Addons/WeiSite/View/default');
break;
default:
// 微信插件
$res = $updateClass->overWrittenFile(SITE_PATH . '/Addons');
if (empty($res)) {
$this->install($updateClass->addon_name);
exit;
}
}
$this->success('安裝完成');
}
示例3: foreach
function step06_overWritten()
{
// 提示需要刪除的文件
$filePath = $targetDir = DATA_PATH . '/update/download/unzip/fileForDeleteList.php';
if (file_exists($filePath)) {
$deleteList = (require_once $filePath);
foreach ($deleteList as $d) {
unlink(SITE_PATH . '/' . $d);
}
unlink($filePath);
}
// 執行文件替換
tsload(ADDON_PATH . '/library/Update.class.php');
$updateClass = new Update();
$res = $updateClass->overWrittenFile();
if (!empty($res['error'])) {
$this->assign('error', $res['error']);
$this->display();
} else {
echo 1;
}
}