<?php
ignore_user_abort(true); //设置PHP后台运行
set_time_limit(0);//设置PHP为永久执行直到程序结束
if (!empty($_POST['url']) && !empty($_POST['file'])) {
$FileUrl = $_POST['url'];
$FileName = $_POST['file'];
DownloadFile($FileUrl, $FileName);
} else {
die;
}
function DownloadFile($FileUrl, $FileName)
{
$DB_USER = 'www_wotokol_com';
$DB_PASS = 'KrYNE5tJXBMJC6m5';
$DB_HOST = '127.0.0.1';
$DB_NAME = 'www_wotokol_com';
$FilePath = dirname(__FILE__) . '/MySQL/';
$Curl = curl_init();//初始化一个curl会话
curl_setopt($Curl, CURLOPT_URL, $FileUrl);//设置需要Curl请求的URL
if (stripos($FileUrl, "https://") !== FALSE) {//判断文件链接是否https协议
curl_setopt($Curl, CURLOPT_SSL_VERIFYPEER, FALSE);//禁止Curl验证对等证书
curl_setopt($Curl, CURLOPT_SSL_VERIFYHOST, FALSE);//设置不检查证书
curl_setopt($Curl, CURLOPT_SSLVERSION, 1);//设置首选TLS / SSL版本
}
$fp = fopen("$FilePath" . "$FileName", 'w+');//以写入方式打开文件,如果文件不存在则尝试创建之。
curl_setopt($Curl, CURLOPT_FILE, $fp);//设置输出文件,默认为STDOUT (浏览器)。
curl_exec($Curl);//执行Curl,打开URL并把它传递给浏览器
curl_close($Curl);//关闭cURL资源,并且释放系统资源
fclose($fp);//关闭已打开的文件
// 解压
$zip = "sudo gzip -d " . $FilePath . $FileName;
shell_exec($zip);
// 获取sql文件名
$array = explode('.', $FileName);
$file_name = $array[0] . '.sql';
$import_sql_path = $FilePath . $file_name;
$import_sql = "sudo mysql --user=$DB_USER --password='$DB_PASS' " . "-h $DB_HOST -D $DB_NAME < $import_sql_path";
shell_exec($import_sql);
shell_exec("sudo rm -rf $import_sql_path");
}