国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

? PHP ????? ThinkPHP ThinkPHP6? ???? ?????? ?? ? ??? ???? ??

ThinkPHP6? ???? ?????? ?? ? ??? ???? ??

Jun 20, 2023 pm 07:25 PM
thinkphp ?? ?? ?????? ??

???? ???? ???? ???? ??????? ?? ??? ?????. ??? ??????? ???? ???? ?? ?? ??? ?????. ? ????? ThinkPHP6 ?????? ?? ???? ThinkPHP6? ???? ?????? ?? ? ??? ???? ??? ?????.

1. ?????? ??

1.1 ?? ??

?????? ??? ???? ?? ?? ??? ???? ???.

1 mysql ??????? bin ???? ??? ???? ?? ??? ??? ??? ???? ???.

2. mysqldump ??? ??? ???? ???.

3. ??????? ?? ???? ??? ???? ????? ??????? ?? mysqldump ??? ??? ? ?? ??? ??? ?????.

1.2 ?????? ?? ??

1.2.1 ?? ???? ??

config ??? Database.php ??? ????, ??? ??? ?????? ?? ??? ????? ?????.

<?php
return [
    // 數據庫類型
    'type'        => 'mysql',
    // 數據庫連接DSN配置
    'dsn'         => '',
    // 服務器地址
    'hostname'    => 'localhost',
    // 數據庫名
    'database'    => 'test',
    // 數據庫用戶名
    'username'    => 'root',
    // 數據庫密碼
    'password'    => 'root',
    // 數據庫連接端口
    'hostport'    => '3306',
    // 數據庫連接參數
    'params'      => [],
    // 數據庫編碼默認采用utf8
    'charset'     => 'utf8',
    // 數據庫表前綴
    'prefix'      => 'think_',
    // 數據庫調試模式
    'debug'       => false,
    // 數據庫備份路徑,沒有則自動創(chuàng)建
    'path'        => '',
    // 數據庫備份卷大小,單位為字節(jié),設為0表示不限制備份大小
    'part'        => 20971520,
    // 數據庫備份文件壓縮格式,這里是gzip
    'compress'    => 'gzip',
    // 數據庫備份文件名
    'filename'    => '',
    // 數據庫備份文件是否需要壓縮
    'zip'         => true,
    // 數據庫備份文件是否需要分卷備份
    'split'       => true,
    // 數據庫備份時是否將存儲過程和觸發(fā)器一起備份
    'level'       => 9,
    // 數據庫備份文件的存儲路徑,最好為絕對路徑,這也是最關鍵的路徑
    'path'        => '/data/mysql/',
];

1.2.2 ?? ?? ??

app/controller ??? BackupController.php ??? ???? ?? ??? ?????.

<?php
declare(strict_types=1);

namespace appcontroller;

use thinkacadeDb;

class BackupController
{
    protected $backupConfig;

    public function __construct()
    {
        $this->backupConfig = config('database');
    }

    public function backup()
    {
        // 防止備份數據過程超時
        set_time_limit(0);

        $database = $this->backupConfig['database'];
        $filename = date('Ymd-His', time()) . ".sql";
        $path = $this->backupConfig['path'].$filename;

        // 檢查目錄是否存在或者是否有權限寫入
        if(!is_dir($this->backupConfig['path'])){
            mkdir($this->backupConfig['path'], 0755, true);
        }else{
            if(!is_writeable($this->backupConfig['path'])){
                chmod($this->backupConfig['path'], 0755);
            }
        }

        // 備份所有數據表
        $result = Db::query("SHOW TABLES");

        $tables = array();
        foreach($result as $index => $row){
            $tables[] = $row['Tables_in_'.$database];
        }

        // 備份所有表結構和表數據
        $content = '';
        foreach($tables as $table){
            $content = $content . "/*" . PHP_EOL;
            $content = $content . "表名:" . $table . PHP_EOL;
            $content = $content . "表結構:" . PHP_EOL;
            $content = $content . "*/" . PHP_EOL;
            $content = $content . $this->backupTableSchema($table);
            $content = $content . "/*" . PHP_EOL;
            $content = $content . "表數據:" . PHP_EOL;
            $content = $content . "*/" . PHP_EOL;
            $content = $content . $this->buildInsertSql($table);
        }

        // 是否需要壓縮
        if ($this->backupConfig['zip']) {
            $zip = new ZipArchive();
            $zipfilename = $this->backupConfig['path'] . date('Ymd-His', time()) . ".zip";
            if ($zip->open($zipfilename, ZipArchive::OVERWRITE) === TRUE) {
                $zip->addFile($path,$filename);
                $zip->close();
                // 刪除非壓縮的文件
                unlink($path);
            } else {
                // 備份失敗
            }
        }
    }

    // 備份表結構
    protected function backupTableSchema($table)
    {
        $database = $this->backupConfig['database'];
        $result = Db::query("SHOW CREATE TABLE `" . $table . "`");
        $create = $result[0]['Create Table'] . ";" . PHP_EOL.PHP_EOL;
        return $create;
    }

    // 備份表數據
    protected function buildInsertSql($table)
    {
        $database = $this->backupConfig['database'];
        $result = Db::query("SELECT * FROM `" . $table . "`");
        $insert = '';
        foreach ($result as $key => $value) {
            $keys = array_keys($value);
            $values = array_map(array(Db::class, 'quote'), array_values($value));
            $values = join(",", $values);
            $insert .= "INSERT INTO `" . $table . "` (`" . join("`,`", $keys) . "`) VALUES (" . $values . ");" . PHP_EOL;
        }
        $insert .= PHP_EOL;
        return $insert;
    }
}

1.2.3 ?? ??

??? ????? ????? ?? URL ??? ?????.

http://localhost/backup/backup

1.3 ?????? ??

1.3.1 ?? ?? ??

?/???? ??? RecoveryController.php ??? ???? ?? ??? ?????.

<?php
declare(strict_types=1);

namespace appcontroller;

use thinkacadeDb;

class RecoveryController
{
    protected $backupConfig;

    public function __construct()
    {
        $this->backupConfig = config('database');
    }

    public function recovery()
    {
        // 防止還原數據過程超時
        set_time_limit(0);
        ini_set('memory_limit', '1024M');

        $filename = input('get.filename');

        // 讀取備份文件
        if ($this->backupConfig['zip']) {
            $zip = new ZipArchive();
            if ($zip->open($this->backupConfig['path'].$filename) === true) {
                $filename = $zip->getNameIndex(0);
                $zip->extractTo($this->backupConfig['path']);
                $zip->close();
            }
        }

        $content = file_get_contents($this->backupConfig['path'] . $filename);

        // 使用";"分割內容
        $statements = explode(";", $content);

        // 開始事務
        Db::startTrans();

        foreach ($statements as $index => $stmt) {
            if (trim($stmt) === '') {
                continue;
            }
            $results = Db::query($stmt);
            if ($results === false) {
                Db::rollback();
                return false;
            }
        }

        // 提交事務
        Db::commit();

        // 刪除非壓縮的文件
        unlink($this->backupConfig['path'] . $filename);

        return true;
    }
}

1.3.2 ?? ??

??? ????? ????? ?? URL ??? ?????.

http://localhost/recovery/recovery?filename=20200101-121212.sql.zip

?? ThinkPHP6?? ?????? ?? ? ??? ???? ?????. ??? ?? ??? ??? ????? ??? ? ????. ??? ??? ????? ?? ???? ????? ???? ?? ?? ??????.

? ??? ThinkPHP6? ???? ?????? ?? ? ??? ???? ??? ?? ?????. ??? ??? PHP ??? ????? ?? ?? ??? ?????!

? ????? ??
? ?? ??? ????? ???? ??? ??????, ???? ?????? ????. ? ???? ?? ???? ?? ??? ?? ????. ???? ??? ???? ???? ??? ?? admin@php.cn?? ?????.

? AI ??

Undresser.AI Undress

Undresser.AI Undress

???? ?? ??? ??? ?? AI ?? ?

AI Clothes Remover

AI Clothes Remover

???? ?? ???? ??? AI ?????.

Video Face Swap

Video Face Swap

??? ??? AI ?? ?? ??? ???? ?? ???? ??? ?? ????!

???

??? ??

???++7.3.1

???++7.3.1

???? ?? ?? ?? ???

SublimeText3 ??? ??

SublimeText3 ??? ??

??? ??, ???? ?? ????.

???? 13.0.1 ???

???? 13.0.1 ???

??? PHP ?? ?? ??

???? CS6

???? CS6

??? ? ?? ??

SublimeText3 Mac ??

SublimeText3 Mac ??

? ??? ?? ?? ?????(SublimeText3)

???

??? ??

??? ????
1601
29
PHP ????
1502
276
???
??? WeChat ??? ???? ?? ??? WeChat ??? ??? ? ???? ??? WeChat ??? ???? ?? ??? WeChat ??? ??? ? ???? Feb 22, 2024 pm 02:46 PM

WeChat? ?? ? ??? ???? ??? ??? ?? ?? ??? ???? ?? ???? ??? ??? ?? ??? ????? ??? ???? ??? ???? ?????. ???? ?? ??: iPhone13 ???: iOS15.3 ??: WeChat 8.0.24 ?? 1 ?? WeChat? ?? ? ????? ?? ??? ?????. 2 ?? ?? ?? ????? ?? ??? ?? ?????. 3?? ????? ?? ??? ?????. 4 ?? ?? ?? ?? ????? ??? ?????. 5????? ??? ????? ??? ???? ???? ??? ???? ?????. ??: WeChat ??? ????? ?? ?? ?????. WeChat?? ?? ??? ???? ?? ?? WeChat ??? ? ?? WeChat ????? ?? ??? ????.

??? ???? ?? ??? ???? ?? ??? ???? ?? ??? ???? ?? Feb 19, 2024 pm 04:22 PM

?? ?? ?? ????? ???? ??? ???? ???? ??? ? ?? ??? ???? ??? ? ?? ?? ??? ?????. ?? ?? ?? ???? ??? ????? ????? ?? ??? ????, ?? ? ?? ??? ????, ?? ?? ????? ????? ??? ??? ?? ?????. ??? ?? ??? ???? ??? ????? ?? ??? ???? ? ?? ????. ??, ?? ?? ?? ???? ??? ??? ?? ??? ???? ?? ??? ?????? ???? ??? ??? ?? ?? ???? ????. ??? ??? ????

thinkphp ????? ???? ?? thinkphp ????? ???? ?? Apr 09, 2024 pm 05:33 PM

ThinkPHP ????? ????? ??? ?????: Composer? ????, ???? ????? ???? php bin/console? ????, ?? ???? ??? http://localhost:8000? ?????.

TikTok?? ?? ???? ???? ?? TikTok?? ?? ???? ???? ?? Mar 16, 2024 pm 01:25 PM

???? ??? ??? ?? ??? ??? Douyin??? ???? ???? ???? ?? ? ?? ?? ???, ?? ??? ?? ???? ?? ?? ??? ? ? ????. ????? ?? ???? ? ??? ?? ?? ?? ??? ???? ??? ????, ?? ??? ?? ??? ?? ??? ??? ??? ?? ????. ??? ??? ?? ??? ?? ?? ???? ??? ? ????. ???? ?? ???? ????? ??? ?? ???? ? ???? ???? ?? ???? ??? ??? ??? ??? ??? ?? ??? ?????. Douyin ??? ??? ???? ??? ?????? 1. Douyin ??? ???? ?? ??? ??? ?????. 2. ?? ???? ??? ??? ????. 3. 3? ?? ????? ???? ??? ??? ??? ?? ? ????. 3? ??? ?? ???? ???? ?????

thinkphp?? ?? ??? ????. thinkphp?? ?? ??? ????. Apr 09, 2024 pm 06:09 PM

ThinkPHP?? ??? PHP ????? ??? ?? ??? ????. ??? ???? 3.2, 5.0, 5.1, 6.0? ????, ??? ??? ??? ???? ??? ??? ???? ? ?????. ?? ?? ??? ThinkPHP 6.0.16???. ??? ??? ? PHP ??, ?? ?? ?? ? ???? ??? ??????. ??? ??? ??? ???? ?? ?? ??? ???? ?? ????.

Xiaomi Cloud ?? ??? ??? ???? ?? Xiaomi Cloud ?? ??? ??? ???? ?? Feb 24, 2024 pm 03:28 PM

Xiaomi Cloud Photo Album? ??? ???? ?? Xiaomi Cloud Photo Album ??? Xiaomi Cloud Photo Album? ??? ??? ? ??? ???? ???? Xiaomi Cloud Photo Album? ??? ???? ??? ????. ???? ????? ???. ?? ??? ??? ????, ?? ?? ???? ?? ?????! Xiaomi ???? ?? ??? ??? ???? ?? 1. ?? Xiaomi ????? ?? ??? ?? ?? ??????? [?? ???]? ?????. 2. ?? ?? Xiaomi ?? ?????? ???? [???? ???] ??? ?????. Xiaomi? ?? ???? ??? ??? ?? [???? ??]? ?????. 4. ????? ??? ?? ??????? [???? ??]? ???? ??? ??? ?????.

thinkphp? ???? ?? thinkphp? ???? ?? Apr 09, 2024 pm 05:39 PM

ThinkPHP Framework? ???? ???? ??: ThinkPHP Framework? ?? ????? ?????? ??? ???. ThinkPHP ?? ????? ???? ?? ???(?? ??)? ????. ?????? ?? ????? ?????. ? ??? ?????. ThinkPHP ??????? ??????. ThinkPHP ?????? URL? ???? ?????.

Win10?? ?? ????? ???? ?? Win10?? ?? ????? ???? ?? Feb 10, 2024 pm 10:51 PM

Windows 10? 2019? 5? ????? ??? ? ?? ?? ?? ?? ??? ?????. ??? ?? ??? ?? ?? ????. Windows 10? ??? ??? ???? ?? ? ??? ??? ??? ? ????. ????? ?? ??? Windows 10??? ?? Windows 10 ?? ?? ??? ???????. ??? ??????? ?? Windows 10 PC?? ??? ???? ???. Microsoft ?? ??????? ? ?? ?? ???? ?? ? ??? ?? ???? ????? ? ????. Imgur?? 4K ???? ?? Windows 10 ?? ?? ?? ?? ??? ?????. ?? ?? ??? ? ?? ?? ?? ????.

See all articles