亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使用 php 將 .sql.gz 文件導入 mysql

使用 php 將 .sql.gz 文件導入 mysql

PHP
慕哥9229398 2023-11-03 15:39:37
我目前正在編寫一個腳本,只需單擊兩次即可輕松導入備份,但我找不到有關如何導入和 .gz 文件的任何信息。.sql 文件工作得很好,但如果我要解壓縮它,我也可以使用 phpmyadmin 導入它。當我當前嘗試導入 .gz 文件時,我只是收到一個巨大的不可讀字符錯誤。我怎樣才能導入 .gz 文件這里的重點是它是一個基于 WEB 的導入器$userName = "root";$password = "";$dbName = "test";    $conn = @new mysqli($serverName,$userName,$password,$dbName);    if ($conn->connect_errno) {    echo "Failed to connect to MySQL: " . $con->connect_errno;    echo "<br/>Error: " . $con->connect_error;}        $fileName = "189_dump.sql.gz";    $temp = "";    $lines = file($fileName);    foreach($lines as $line){        if(substr($line, 0, 2) == '--' || $line == '')        continue;        $temp .= $line;        if(substr(trim($line), -1, 1) == ';'){            $conn->query($temp) or print('Error performing query \'<strong>' . $temp . '\': '. '<br /><br />');            $temp = "";        }    }    echo "imported db (or not)";?> 
查看完整描述

2 回答

?
泛舟湖上清波郎朗

TA貢獻1818條經驗 獲得超3個贊

這就是我修復它的方法:


$lines = gz文件($fileName);


<?php


class reader{

    

    public $dbName;

    public $fileName;

    

    public function import($dbName, $fileName){

        $serverName = "localhost";

        $userName = "root";

        $password = "";


        $conn = new mysqli($serverName,$userName,$password,$dbName);


        $temp = "";

        $lines = gzfile($fileName);


        foreach($lines as $key => $line ){

            if(substr($line, 0, 2) == '--' || $line == '') continue;


            $temp .= $line;


            if(substr(trim($line), -1, 1) == ';'){

                $conn->query($temp) or print('Error performing query \'<strong>' . $temp . '\': '. '<br /><br />');

                $temp = "";}

        

        }

        echo "<script>alert('Database Imported')</script>";

    }

}

$bestand = new reader();

#               dbname  |  file name

$bestand->import("test", "testdb.sql.gz");


?>




查看完整回答
反對 回復 2023-11-03
?
富國滬深

TA貢獻1790條經驗 獲得超9個贊

如果您允許 system() 您可以:

<?php
system("gzip -dc < ".$file." | mysql -u $dbuser -p$dbpassword $dbname");


查看完整回答
反對 回復 2023-11-03
  • 2 回答
  • 0 關注
  • 238 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號