X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

Открыть тему
Тема закрыта
> Помогите составить код!
swerg
swerg
Topic Starter сообщение 14.9.2014, 15:17; Ответить: swerg
Сообщение #1


Вот код

<?php
/**
* Project: MicroScript Installation system
* File: install.class.php
* @link http://www.microscript.ru/
* @copyright 2010 MicroSript Ltd.
* @package Install
* @version 2.0
*/

set_time_limit(0);
ob_implicit_flush();
ob_start();

/**
* @package Install
*/
class Install
{


/**
* @var array $form
*/
var $form;



/**
* Конструктор
*/
function Install()
{
if($this->connect()){
$this->saveConf();
$this->importDB();
$this->Mess('Установка завершена.', 3);
$this->buttonActive();
}
}

/**
* Установка соединения с БД
*/
function connect()
{
if(!$_POST['user']) $_POST['user'] = $_POST['base'];
$db = @pg_connect("host=".$_POST['host']." dbname=".$_POST['base']." user=".$_POST['user']." password=".$_POST['pass']."");
if($db){
pg_query("SET NAMES 'utf8'");
return true;
}
$this->Mess('Нет подключения к БД', 1);
return false;
}



/**
* Сохранение настроек
*/
function saveConf()
{
$file = "../classes/db.class.php";
$this->saveFile($file);
$this->saveFile("../rate/rate.php");
$this->saveFile("../checker/checker.php");
$this->saveFile("../indexing/indexing.php");
$this->saveFile("../link/link.php");
$this->saveFile("../rate/rate.php");
$this->saveFile("../sell/sell.php");
$this->saveFile("../spider/spider.php");
$this->saveFile("../planner_link.php");
$this->saveFile("../planner_sell.php");
$this->saveFile("../auto_application.php");
return true;
}


/**
* Сохранение настроек
*/
function saveFile($file)
{
if(!file_exists($file)){
$this->Mess('Файл отсутствует: '. $file, 1);
return false;
}
$fd = fopen($file, "r");
if($fd){
while (!feof ($fd)) {
$content .= fread($fd, 50);
}
}
fclose($fd);
$content = preg_replace('/var \$host =(.*);/i', "var ".'$host'." = '".$_POST['host']."';", $content);
$content = preg_replace('/var \$user =(.*);/i', "var ".'$user'." = '".$_POST['user']."';", $content);
$content = preg_replace('/var \$pass =(.*);/i', "var ".'$pass'." = '".$_POST['pass']."';", $content);
$content = preg_replace('/var \$base =(.*);/i', "var ".'$base'." = '".$_POST['base']."';", $content);

if(!is_writable($file)){
$this->Mess('Нет прав на запись: '. $file, 1);
return false;
}
if($content){
$fd = fopen($file, "w");
fwrite($fd, $content);
fclose($fd);
$this->Mess('Конфигурация сохранена: '. $file, 2);
}
return true;
}




/**
* Загрузка дампа
*/
function importDB()
{
if (!file_exists('damp')) return false;
$fp = fopen ('damp', "r");
$buffer = fread($fp, filesize('damp'));
$all = count(explode(';', $buffer));
fclose ($fp);
$prev = 0;
while ($next = strpos($buffer,";",$prev+1)){
$query = trim(substr($buffer,$prev+1,$next-$prev));
pg_query($query);
$this->importLog($query);
++$count;

$prev = $next;
usleep(1000);
flush();
ob_flush();

$progress = ceil ($count * 35 /$all );
if($progress != $this->progress){
$this->Progress();
$this->progress = $progress;
}

}
}


/**
* Лог импорта
*/
function importLog($query)
{
if(preg_match_all("/CREATE TABLE (.*) /isU", $query, $out)){
$table = trim(str_replace('(', '', strtolower($out[1][0])));
if(pg_query(" SELECT * FROM $table")){
$this->Mess('<p class="name"><span>Создание таблицы: '. $table .'</span></p><p class="status"> OK</p>', 2);
}else{
++$err;
$this->Mess('<p class="name"><span>Создание таблицы: '. $table .'</span></p><p class="status"> Ошибка</p>', 1);
}
}
}


/**
* Сообщение об ошибке
*/
function Mess($mess, $type)
{
if($mess) echo "<script>mess('$mess', $type);</script>";
flush();
ob_flush();
}

/**
* Прогресс
*/
function Progress()
{
echo "<script>add_progress();</script>";
flush();
ob_flush();
}

/**
* Активирует кнопку выход
*/
function buttonActive()
{
echo "<script>document.getElementById('exit').style.display='block';</script>";
flush();
ob_flush();
}


}
?>

Правильно ли он составлен потому что пишет Нет подключения к БД
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
fedornabilkin
fedornabilkin
сообщение 15.9.2014, 9:57; Ответить: fedornabilkin
Сообщение #2


А попробуй с этими данными напрямую подключиться к базе.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
swerg
swerg
Topic Starter сообщение 15.9.2014, 10:06; Ответить: swerg
Сообщение #3


все разобрался небыло нужного расширения PHP


Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Как составить уравнение, чтобы назначить цену для товара?
2 rownong27 711 21.3.2024, 12:53
автор: Lumex
Открытая тема (нет новых ответов) Помогите вспомнить рекламного бота Телеграм для обмена рекламой
0 Mixatraider 692 21.2.2024, 23:42
автор: Mixatraider
Открытая тема (нет новых ответов) Почистить код на сайте
1 Timka 1090 2.1.2021, 1:13
автор: 0pium
Открытая тема (нет новых ответов) Помогите рещить проблему с монитором.
Почему низкое разрешение при подключении монитора через displayport?
0 Levels 1695 11.12.2020, 0:48
автор: Levels
Открытая тема (нет новых ответов) Тема имеет прикрепленные файлыВы мне код, я вам как - делать не надо.
0 fedornabilkin 941 18.9.2020, 18:59
автор: fedornabilkin


 



RSS Текстовая версия Сейчас: 28.3.2024, 19:53
Дизайн